Re: pgbench performance test

Lists: pgsql-es-ayuda
From: Simeó Reig <simeo(dot)reig(at)grupoincofisa(dot)com>
To: <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: pgbench performance test
Date: 2013-10-02 16:51:30
Message-ID: bb03890f3d8fd0a41e2c5731aafc8e5f@mailserver.grupoincofisa.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Hola

Estaba realizando unas pruebas de performance con pgbench con unas
consultas bastante largas y obtengo un error:

$ pgbench -n -c1 -T 3 -f veins_pgbench.sql pdn

Client 0 aborted in state 0: ERROR: syntax error at end of input
LINE 1: ...(abc.persones.provincia = abc.poblacions.cod_provinc

^
transaction type: Custom query
scaling factor: 1
query mode: simple
number of clients: 1
number of threads: 1
duration: 3 s
number of transactions actually processed: 0
tps = 0.000000 (including connections establishing)
tps = 0.000000 (excluding connections establishing)

Creo adivinar que pgbench tiene un límite bastante bajo en la entrada
de consultas por fichero, ¿estoy en lo cierto? De estarlo, ¿como podría
resolver el problema?

Un saludo

Simeó Reig
Barcelona (Spain)

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripcin:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


From: Alvaro Herrera <alvherre(at)2ndquadrant(dot)com>
To: Simeó Reig <simeo(dot)reig(at)grupoincofisa(dot)com>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: pgbench performance test
Date: 2013-10-09 21:13:32
Message-ID: 20131009211332.GD4825@eldon.alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

Simeó Reig escribió:

> Creo adivinar que pgbench tiene un límite bastante bajo en la
> entrada de consultas por fichero, ¿estoy en lo cierto? De estarlo,
> ¿como podría resolver el problema?

Edita el pgbench.c, cambia el BUFSIZ que aparece en la función
process_file por un número grande, por ej. 8192 o así (tiene que ser
mayor que el largo de tu consulta en bytes). Luego recompila.

Una solución de verdad sería hacer que la llamada a fgets que está en
esa función verifique si el string retornado ocupó los BUFSIZ bytes, y
si es hacer ver si hay un \n al final del string retornado, y si no es
así, leer un poco más hasta completar la línea. Parches bienvenidos.

--
Álvaro Herrera http://www.2ndQuadrant.com/
PostgreSQL Development, 24x7 Support, Training & Services

-
Enviado a la lista de correo pgsql-es-ayuda (pgsql-es-ayuda(at)postgresql(dot)org)
Para cambiar tu suscripción:
http://www.postgresql.org/mailpref/pgsql-es-ayuda


From: "Gilberto Castillo" <gilberto(dot)castillo(at)etecsa(dot)cu>
To: "Alvaro Herrera" <alvherre(at)2ndquadrant(dot)com>
Cc: Simeó Reig <simeo(dot)reig(at)grupoincofisa(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: pgbench performance test
Date: 2013-10-15 18:26:26
Message-ID: 42185.192.168.207.54.1381861586.squirrel@webmail.etecsa.cu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

>
> Simeó Reig escribió:
>
>> Creo adivinar que pgbench tiene un límite bastante bajo en la
>> entrada de consultas por fichero, ¿estoy en lo cierto? De estarlo,
>> ¿como podría resolver el problema?
>
> Edita el pgbench.c, cambia el BUFSIZ que aparece en la función
> process_file por un número grande, por ej. 8192 o así (tiene que ser
> mayor que el largo de tu consulta en bytes). Luego recompila.
>
> Una solución de verdad sería hacer que la llamada a fgets que está en
> esa función verifique si el string retornado ocupó los BUFSIZ bytes, y
> si es hacer ver si hay un \n al final del string retornado, y si no es
> así, leer un poco más hasta completar la línea. Parches bienvenidos.

He realizado los siguientes cambios
------------------------------------
Agregado la siguientes instrucciones:

int lcad;
char cad;

cad = fgets(buf, sizeof(buf), fd);
lcad = strln(cad);

if (cad != NULL) && (lcad == BUFSIZ-1)
{
int i;
i = lcad+1;
while (buf[i] !='\n')
{
cad = fgets(buf, BUFSIZ+i, fd);
i++;
}

}

/*sustituyo fgets(buf, sizeof(buf), fd) por cad*/
while (cad != NULL)
{
Command *commands;
int i;
/*char c;*/

i = 0;

while (isspace((unsigned char) buf[i]))
i++;
## todo el código que sigue
.
.
.

}

Solo que me ha dado un error y ahora mismo no tengo tiempo para revisar
... si se les ocurre algo me avisan.

Saludos,
Gilberto Castillo
La Habana, Cuba

Attachment Content-Type Size
unknown_filename text/plain 179 bytes
unknown_filename text/plain 157 bytes

From: "Gilberto Castillo" <gilberto(dot)castillo(at)etecsa(dot)cu>
To: "Alvaro Herrera" <alvherre(at)2ndquadrant(dot)com>
Cc: Simeó Reig <simeo(dot)reig(at)grupoincofisa(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: pgbench performance test
Date: 2013-10-23 23:14:03
Message-ID: 48589.192.168.207.54.1382570043.squirrel@webmail.etecsa.cu
Views: Raw Message | Whole Thread | Download mbox | Resend email
Lists: pgsql-es-ayuda

A todos,

Adjunto como que quedo la script con los cambios ya me ha compilado y me
funciona.

¿Cuales pruebas de funcionamiento puedo realizar a parte de las ya
establecidas?

Saludos,
Gilberto Castillo
La Habana, Cuba

Attachment Content-Type Size
pgbench.c text/x-csrc 46.9 KB
unknown_filename text/plain 179 bytes
unknown_filename text/plain 157 bytes