Configuración óptima de postgres

Hola!

les hago una consulta, estamos intentando mejorar la performance de postgres.
Todavía estamos utilizando Mapuche 3.0.2, postgres 9.1.

La consulta es por si alguien de ustedes ya ha intentado mejorar el rendimiento del motor. En caso que sí, que parámetros en la configuración de postgres han modificado?

Gracias!

Hola Gloria, hace 1 año instalé el servidor en producción de Mapuche tomando datos de alguna documentación de mi oficina, del curso de postgres del SIU y haciendo pruebas.

Los parámetros a tocar (documentación del taller postgres del SIU):

  • shared_buffers
  • max_connections
  • temp_buffers
  • work_mem

SHARED_BUFFERS

  • El que más afecta el rendimiento.
  • Comenzar a partir del 10% de memoria.
  • Se puede setear en MB, KB (24MB, 24576KB).
  • Tener en cuenta el /proc/sys/kernel/shmax (Linux)

sysctl -w kernel.shmmax=112009216 ó modificar a mano shmmax y shmall

WORK_MEM

  • Memoria utilizada para trabajo del servidor.
  • Aumentar en caso de tener muchas consultas complejas.
  • Para empezar el 4% de la memoria total.

En la práctica:
Tengo un servidor con 32GB de RAM y los parámetros que toqué en postgresql.conf son:
shared_buffers = 6400MB
max_connections = 100 (depende de la concurrencia que se quiera)
work_mem = 1280MB
maintenance_work_mem = 2048MB

Algo que toqué también porque en algún momento me tiraba error es el parámetro memory_limit del archivo php.ini