Re: Rendimiento ESQL/C

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: atbrkt <atbrkt(at)hotpop(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Rendimiento ESQL/C
Date: 2009-12-16 16:03:57
Message-ID: 20091216160357.GD4156@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

atbrkt escribió:
> Buenas,
>
> Estoy utilizando el interfaz ESQL/C como medio de acceso a la base de
> datos, sin embargo no estoy satisfecho con el rendimiento que estoy
> obteniendo. He realizado unas pruebas con pgbench, que está
> implementado en libpq y mediante esta orden:
>
> ./pgbench -i pgbench -s 1
>
> Se crean 10000 tuplas en menos de 1 segundo, algo impensable desde mi
> aplicación de ESQL/C, con la siguiente transacción:
>
> EXEC SQL BEGIN;
> for(int i=0;i<100000;i++){
> EXEC SQL INSERT INTO accounts VALUES (1,1,1);
> }
> EXEC SQL COMMIT;
>
> El tiempo de creación de 10000 tuplas mediante ESQL/C es de unos 10
> segundos. ¿Alguien sabe por qué hay tanta diferencia entre mi
> aplicación y el benchmark pgbench? ¿Es posible que pgbench optimice al
> máximo el rendimiento de PostgreSQL? De esto último estoy casi seguro,
> puesto que el consumo de CPU es bastante más alto con pgbench

Hmm, pgbench usa múltiples conexiones simultáneas mientras que tu
programa ESQL/C sólo usa una. Quizás el sobrecosto de ecpg sea alto, la
verdad es que no lo tengo claro. ¿Probaste hacer un programa libpq que
sea idéntico? ¿Intentaste usar pre-prepare en ecpg?

--
Alvaro Herrera Vendo parcela en Valdivia: http://alvherre.cl/caboblanco
"La rebeldía es la virtud original del hombre" (Arthur Schopenhauer)

In response to

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Fernando Hevia 2009-12-16 16:08:19 RE: Rendimiento ESQL/C
Previous Message Jaime Sierra Gattorno 2009-12-16 14:59:23 Re: APLICACION COMO EL ENTERPRISE MANAGER ORACLE