From: | Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org> |
---|---|
To: | p2p p2p <p2pvideo(at)gmail(dot)com> |
Cc: | pgsql-es-ayuda(at)postgresql(dot)org |
Subject: | Re: High Load Average |
Date: | 2009-02-13 15:07:19 |
Message-ID: | 20090213150719.GB3254@alvh.no-ip.org |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
p2p p2p escribió:
> Tengo una aplicación web que está utilizando PostgreSQL, y en determinados
> momentos del día cuando hay aproximadamente unos 50 usuarios conectados la
> cosa va bien, la máquina suele estar con un load average de 3.5
> aproximadamente, si las consultas que le hacen los usuarios son muy pesadas.
> El problema es que hay momentos del día
> en los que la máquina se queda completamente colgada y no se recupera en
> cuestión de horas.
Lo más probable es que sea "thrashing". Te recomiendo disminuir el
número de conexiones activas (como ya te recomendaron, poniendo un
pool); con eso la cantidad de memoria en uso en los momentos de más alta
demanda no será tan exagerada, y habrá menos thrashing.
Lo otro que puede ser es que tengas work_mem demasiado alto, con lo cual
ocupe toda la memoria y volvemos al tema del thrashing.
> Al principio pensaba que podría ser por el número de conexiones que puede
> admitir como máximo (max_connections) y le aumenté este valor a 500, y el de
> shared_buffers a 8MB. Por lo que he podido observar, en los momentos que la
> máquina se queda colgada es cuando están las 500 conexiones activas. Hay
> muchísimas consultas que indican que llevan varios minutos en ejecución,
> algunas otras en estado IDLE, y otras tantas que aparecen repetidas.
Si hay consultas que se demoran mucho, debes examinarlas con mucho
cuidado para optimizarlas de manera que no te consuman todo el escaso
recurso de ancho de banda de disco.
From | Date | Subject | |
---|---|---|---|
Next Message | Diego Schulz | 2009-02-13 15:20:29 | Re: Problema al actualizar PostgreSQL. |
Previous Message | Alvaro Herrera | 2009-02-13 15:03:06 | Re: Mejor metodo para pasar arrays a función pl |