El 12 de febrero de 2009 20:06, Silvio Quadri <[email protected]> escribió:
> El día 12 de febrero de 2009 15:40, p2p p2p <[email protected]> escribió: > > Buenas tardes, > > > > 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. > > > > 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. > > > > He estado monitorizando con top, y veo que el load average puede llegar a > > alcanzar picos de hasta 120. Otro detalle que he observado es que la > máquina > > no hace swap, lo que me hace pensar que no es problema de memoria. La > > máquina es un servidor con 3 GB de RAM, y la versión de PostgreSQL es la > > 8.2. > > ¿8MB de shared buffers? Es lo mismo que nada. > ¿500 conexiones web o 500 usuarios? > Silvio > > En la documentación dice que el valor de shared_buffers debe ser igual al número de max_conections x 16 KB. max_conections x 16 KB = 500 x 16 = 8000 De ahí que haya puesto 8MB. ¿Qué valor para shared buffers me recomiendas? Las 500 conexiones, son conexiones a la BD. Según una tabla que tengo que me indica los usuarios que están online, suele estar entre 50 o 60 usuarios. Muchas gracias. > > > > > ¿Qué puede estar pasando? ¿Qué me recomendáis que haga? > > > > Muchas gracias. > > > > > > -- > Silvio Quadri >
