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

RE: Rendimiento ESQL/C

From: "Fernando Hevia" <fhevia(at)ip-tel(dot)com(dot)ar>
To: "'atbrkt'" <atbrkt(at)hotpop(dot)com>,<pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: Rendimiento ESQL/C
Date: 2009-12-16 16:08:19
Message-ID: 6DDB0B4637AB4DEC9B4EA00010B92415@iptel.com.ar (view raw or flat)
Thread:
Lists: pgsql-es-ayuda
 

> -----Mensaje original-----
> De: atbrkt
> 
> 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

El setup de pgbench no hace inserts sino copy para popular la tabla
accounts, 
lo cual es más rápido que los inserts.

Para que compares, el mismo loop en pgplsql hace 100.000 inserts en unos 4.7
seg. 
Si elimino el PK sobre accounts el tiempo baja a 3 seg. Esperaría que en C
esto fuese más rápido aún.
(Base dedicada 8.3.8 sobre un Pentium D 3.0GHz).

No estoy familiarizado con ESQL/C como para hacer alguna sugerencia.

Slds.,
Fernando.


In response to

Responses

pgsql-es-ayuda by date

Next:From: Edwin QuijadaDate: 2009-12-17 04:21:15
Subject: RE: APLICACION COMO EL ENTERPRISE MANAGER ORACLE
Previous:From: Alvaro HerreraDate: 2009-12-16 16:03:57
Subject: Re: Rendimiento ESQL/C

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