Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Ver consultas en ejecución

From: Jaime Casanova <jcasanov(at)systemguards(dot)com(dot)ec>
To: Espartano <espartano(dot)mail(at)gmail(dot)com>
Cc: jeison gutierrez <jeisongutierrez(at)gmail(dot)com>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: [pgsql-es-ayuda] Re: [pgsql-es-ayuda] Ver consultas en ejecución
Date: 2009-03-27 04:38:07
Message-ID: 3073cc9b0903262138i6db4a07bw8a916ce3c2376d5f@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

2009/3/26 Espartano <espartano(dot)mail(at)gmail(dot)com>:
> 2009/3/26 jeison gutierrez <jeisongutierrez(at)gmail(dot)com>:
>>
>> Mi pregunta tiene que ver con que si es posible en linux - postgres saber
>> que consultas SQL se estan ejecutando y que recursos esta consumiento.
>>

select * from pg_stat_activity;
select * from pg_locks; (si haces un join entre las dos es mejor)

pero saber que recursos exactamente esta usando una consulta
especifica, es mas complicado... puedes activar log_temp_files y
log_lock_waits para tener un panorama mas claro de lo que paso... (en
8.4 va a haber un modulo contrib que ejecute explain de forma
automatica para las consultas que se esten ejecutando, eso te dira
cuanta memoria usaron los ordenamientos si se hicieron en disco, etc)

>> Tambien si es posible ver que usuarios estan conectados

select * from pg_stat_activity;

>> y saber de alguna
>> manera sus tiempos de inactividad para cerrar sus conexiones en caso de que
>> esten abiertas y no se esten usando.
>>

en plataformas que lo soporten los parametros tcp_keepalive_*
servirian para eso, aunque no estoy familiarizado con ellos como para
sugerirte un valor razonable...

tambien podrias usar un pool de conexiones (usando conexiones no
persistentes de tu aplicacion) para que el pool se encargue del
problema por ti...

>>
>
>
> Busca en los históricos, no hace mucho tiempo jaime casanova tuvo un
> problema de rendimiento con uno de sus clientes ( ACLARO por un
> programa que el no hizo ),

gracias por la aclaracion ;)

> y (aunque no recuerdo exactamente como fue
> su problema ) posteó a la lista como hizo para determinar que consulta
> estaba consumiendo tantos recursos, me parece que también la puso en
> el wiki de postgres.
>

asi es, la idea era no solo identificar las consultas lentas (eso es
facil de hacer con log_min_duration_statement) sino tambien
identificar la pagina php especifica que la estaba ejecutando, pero si
te sirve ahi te dejo el enlace:
http://wiki.postgresql.org/wiki/Encontrando_consultas_que_consumen_recursos

--
Atentamente,
Jaime Casanova
Soporte y capacitación de PostgreSQL
Asesoría y desarrollo de sistemas
Guayaquil - Ecuador
Cel. +59387171157

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Jaime Casanova 2009-03-27 04:52:45 Re: Fix/Review doc en la wiki
Previous Message Santiago Zarate 2009-03-27 02:49:37 Re: Active Record