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
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 |