-----Mensaje original-----
De: Javier Fritz Alsite
Hola a todos.
Les cuento que necesito realizar una nueva configuración
para un servidor de servicio de datos, y quisiera conocer un
poco vuestra opinion para los ajuste que se estan realizando
en la estapa pre-producción.
Descripción Maquina
CPU 1 : Xeon E5502 1.87 Ghz Dual Core
CPU 2 : Xeon E5502 1.87 Ghz Dual Core
RAM : 8Gb.
HD: 750GB x 2
Conexion: 10Mb/512Kb (Dedicado, Nacional/Internacional)
En este momento la maquina esta utilizando 1,2 Gb de Ram,
es resto esta libre. y la función principal de esta maquina
es un sitio web de muy baja demanda y conexiones a PostgreSQL.
Algunas dudas:
Cuantas conexiones maximas reales podria lograr con esta
maquina. Se requieren al rededor de 180 (comercialmente) ,
esta claro que esta sobredimensionado el servidor, pero en
caso de requerir ampliar el servicio, hasta cuanto puedo
llegar sin perder performance???
Estimado, todo depende de qué haran esas conexiones.
Si mayormente será una base de consulta con pocas escrituras el hardware que
tienes es muy bueno. Si no es el caso, tu sistema de discos será el cuello
de botella. Si prevees un crecimiento importante, mi recomendación es que
AHORA lo potencies y no esperes para hacerlo más tarde. Los discos son
baratos en comparación a las horas hombre que requerirá hacerlo luego.
Si te quedas con los dos discos entonces si o si arma un RAID 1.
Algunos valores que se han ajustado
max_connection= 200
shared_buffer= 512MB
work_mem= 3MB
maintenance_work_mem=32
lo demas por default.
Alguna recomendación ó comentario??
Para empezar lo veo bien, tal vez un poco bajo en shared buffers para la
memoria disponible. No te preocupes demasiado ya que son parámetros que
podrás ajustar luego sobre la marcha. Setea effective_cache_size en 4 GB
para compensar.
Finalmente, si las 180 conexiones serán concurrentes, es hora de considerar
instalar un pool de conexiones.
Con un pool podrás atender miles de consultas web "simultáneas" conservando
los recursos del server.
Saludos,
Fernando.