> -----Mensaje original-----
> De: Eddy Ernesto Baños Fernández
> Hola a todos,  tengo el siguiente problema:
> 
> Estoy configurando un ambiente de producción para  
> PostgreSQL, sobre un entorno de réplica multimaestro usando 
> la herramienta Cybercluster 1.2.1. Cuento con 4 servidores HP 
> Proliant BL 460c G1 con 2x Quad Core @2.00 GHz 8Gb de RAM, 
> luego de alguna investigación acerca del tuning de servidores 
> PostgreSQL para producción, configuré el archivo 
> postgresql.conf de la siguiente manera:
> 
>  
> 
> (resumo los parámetros en los cuales hice cambios)
> 
> max_connections = 4000  # ulimit –n 4096
> 
>  ...
>
> desde un portal el cual genera aproximadamente 70 consultas 
> por sesión 900 usuarios el sistema se literalmente explota, 
> es decir los tiempos de respuesta aumentan demasiado, es 
> decir la página demora en cargar aproximadamente 20 segundos.
> 
> Necesito alguna sugerencia para optimizar el rendimiento.
> 

Todo indica que tendrías que levantar un servicio de pooling (pgbouncer o
pgpool2) para limitar la cantidad de conexiones simultáneas a la base. Es
muy probable que tu cuello de botella esté en los 900 backends simultáneos.
Con pooling empieza a probar con max_connections = 100 y lo vas subiendo de
a 50 hasta llegar a un rendimiento óptimo, el cual no debiera pasar los 400.
Si a pesar del pooling sigues con grandes demoras tendrás que revisar las
consultas sobre la base.

Saludos.

--
TIP 4: No hagas 'kill -9' a postmaster

Responder a