[Pgsql-ayuda] Performance PG

Carmen Gloria Sepulveda Dedes csepulveda@atichile.com
Wed, 24 Sep 2003 15:44:07 -0400


>         Carmen Gloria, prueba (sólo para hacer la prueba) a ejecutar PostgreSQL
> con el fsync desactivado (=off) para ver si con eso obtienes
> rendimientos similares. Actívalo de nuevo después, ya que tenerlo
> desactivado es peligroso para la integridad de los datos..

voy a ver esto y les cuento si va o no por aqui el tema ...

>         Por cierto, ¿has hecho VACUUM FULL ANALYZE en ambos casos antes de
> comenzar la prueba?

si ... hago vacuum cada vez que borro la tabla completa (teniendo mas de 500 mil
registros) o bien cuando hago update ...

>         Usar COPY en lugar de INSERT o hacer todas las inserciones en una misma
> transacción acelera considerablemente las inserciones masivas. Si no lo
> has probado ya, deberías probarlo.

Efectivamente ... cuando tengo una funcion y dentro de esta hago un loop para
insertar registros ... ha llegado hasta 8500 mas o menos por segundo ... no hay
problema ...
pero esta no es una situacion muy real ... (efectivamente en linux es muuucho mas
rapido que en solaris)

El problema ... (cuando el performance disminuye) ... es al usar una funcion que
recibe
como parametros los valores a insertar (1 sola insercion) ... y esta funcion la
llamo
desde un programa en C (estoy probando con ECPG y libpq) ... En esta situacion, en
el mejor caso (el equipo con disco ide) llegamos a insertar hasta 800 registros por
segundo
(claro que la conexion se estable solo una vez).  Supuse que cambiando a un equipo
con disco scsi la situacion iba a mejorar, pero al contrario, empeoro .... esto es
... la
insercion de X registros (por ejemplo 500) toma hasta 10 veces mas con el disco
scsi