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 |