From: | "Fernando Hevia" <fhevia(at)ip-tel(dot)com(dot)ar> |
---|---|
To: | "'BeMoN!o'" <bemonio(at)gmail(dot)com>, "'pgsql-es-ayuda'" <pgsql-es-ayuda(at)postgresql(dot)org> |
Subject: | RE: Configurar Postgresql 8.1 |
Date: | 2009-03-16 19:40:44 |
Message-ID: | DF5B0143BCEC4D01BFE284A5501EE9F2@iptel.com.ar |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-es-ayuda |
> -----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.
From | Date | Subject | |
---|---|---|---|
Next Message | Marcos Ortiz Valmaseda | 2009-03-16 20:40:41 | Re: Configurar Postgresql 8.1 |
Previous Message | Alvaro Herrera | 2009-03-16 16:49:42 | Re: Hola |