Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-es-ayuda by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group