> -----Mensaje original-----
> De: BeMoN!o
> 
> Me gustaría obtener ayuda y documentación sobre la 
> configuración "Tunning" del Postgresql para la versión 8.1. 
> ya que he jugado con algunos de los valores y ha mejorado su 
> desempeño, pero aun considero que por falta de conocimientos 
> no es lo óptimo (si la documentación es en español mejor).
> 
> características:
> Linux - Debian kernel 2.6.18.
> 2 procesadores Dual Core 3.4, 4GB, 1.5Gb de Swap.
> 
> max_connections = 200
> shared_buffers = 131072  #representa el 25% de la RAM 
> work_mem = 167772 #representa 4% RAM
> 

Pareciera tenés un error en la interpretación de shared buffers. El valor
asignado no se corresponde con el porcentaje de memoria que aduces. Dado que
el servidor es dedicado, shared_buffers puedes incrementarlo tranquilamente
a 1GB (1048576).

Revisa work_mem porque lo tienes en 167 MB. No es que esté mal, pero es un
valor atípicamente alto y si tienes muchas conexiones paralelas es probable
te esté consumiendo toda la memoria (fácil de corroborar con vmstat).
Dependiendo del tipo de consultas que se ejecuten y la cantidad de
conexiones simultáneas sugeriría jueges con valores más razonables para
work-mem, entre 1024 y 16384 (KB). Ten presente que reducir work_mem puede
hacer más lentas consultas que requieran varios sorts, hashs o merge joins
con muchos registros.

Las recomendaciones en líneas generales suelen ser las siguientes:

1. Identifica los cuellos de botella antes de actuar (Monitorear el sistema
c/ vmstat, queries lentos con log_min_duration_statement)
2. Asegura que autovacuum este corriendo o vacuum croneado regularmente.
3. Haz un tunning de los queries más problemáticos
4. Habilita un pool de conexiones (pgpool2, pgbouncer)
5. Planifica el upgrade a una versión más reciente. 8.4 está en puerta. Las
nuevas versiones dan un salto importante en performance sobre 8.1.
6. Mejora el hardware. Los principales items donde mirar son:
- Agregar discos y migrar a RAID 10. 
- Agregar una controladora con BBU caché
- Agregar más memoria.


Saludos,
Fernando.


--
TIP 10: no uses HTML en tu pregunta, seguro que quien responda no podrá leerlo

Responder a