Re: Procesos postgresql permanentes en linux !!!

From: Emanuel Calvo Franco <postgres(dot)arg(at)gmail(dot)com>
To: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
Cc: Angelo Astorga <angeloastorga(at)gmail(dot)com>, lista postgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Procesos postgresql permanentes en linux !!!
Date: 2009-04-30 14:54:28
Message-ID: f205bb120904300754o231712ddn72e094c00b7c1cf9@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

El día 29 de abril de 2009 21:50, Alvaro Herrera
<alvherre(at)alvh(dot)no-ip(dot)org> escribió:
> Angelo Astorga escribió:
>> Hola lista, tenemos un conjunto de aplicaciones bajo linux en un sistema con
>> php, apache, ejecutables via odbc, samba e integrados con bd postgresql
>> 8.3... el problema que hemos notado hace ya un tiempo, es que hay muchos
>> procesos postgresql (consultas, insert, delete y update) que por esas cosas
>> de la vida, quedan permanentes en linux (# ps aux) y pueden permanecer todo
>> el dia, utilizando cpu del servidor que podria llegar a colapsarlo, es
>> decir, servidor con cpu usada 100%... esta pasando frecuentemente a medida
>> que crece la bd y hemos notado que se da en la mezcla de postgresql, odbc de
>> programas ejecutables y samba... alguna experiencia equivalente que puedan
>> aportar  para terminar con el problema... Se agradece....
>
> Seguramente algún usuario apreta el botón para mostrar un reporte, el
> cual se demora mucho, así que apreta el botón de nuevo (F5 "refrescar" o
> como sea en tu aplicación), se vuelve a demorar mucho, y así hasta que
> tiene el servidor lleno de procesos ejecutando lo mismo que saturan el
> servidor y lo hace más lento.
>
> Posibles soluciones:
> 1. educar a los usuarios (los garrotes con clavo funcionan bien)

Ya lo probé y he llegado a la conclusión que hay usuarios sadomasoquistas.

> 2. buscar las consultas lentas y optimizarlas

Angelo: loguea las consultas lentas para empezar a ver de que manera
se puede optimizar. Cuando tengas la/s consultas postealas así vemos
de que manera se puede mejorar los tiempos.

> 3. si los garrotes no son convincentes, implementar un sistema que
> impida que los usuarios ejecuten muchas veces las mismas consultas
>

En este punto podrías hacer que el proceso que actualiza la consulta
tenga una consulta previa para verificar que no se este corriendo esta
consulta.

Otra cosa uqe podrías facilitar es: un iostat, un free, vmstat y todo
otro dato para
ver el comportamiento del SO. También un resumen de stat_activity y
resultados de querys en las tablas problemáticas.

Después de eso se puede empezar a analizar :)

--
Emanuel Calvo Franco
Sumate al ARPUG !
( www.arpug.com.ar)
ArPUG / AOSUG Member

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2009-04-30 18:25:38 Re: Refcursor + vb6 + oledb
Previous Message Jose J. Ayala Pineda 2009-04-30 13:56:44 Re: Refcursor + vb6 + oledb