domingo, 20 de julio de 2014

Optimización de Linux para postgreSQL



Una de las cosas que frecuentemente olvidamos “optimizar” (tunning) es nuestro sistema operativo GNU/Linux, con grupo de valores en el sysctl ya podemos ayudar “muchísimo” a nuestro postgreSQL.
  • Agregamos al archivo sysctl.conf
archivo: /etc/sysctl.conf
kernel.sem = 100 32000 100 128
kernel.shmall = 3279547
kernel.shmmax = 289128448
kernel.shmmni = 8192
fs.file-max = 287573
vm.dirty_bytes = 67108864
vm.dirty_background_bytes = 134217728
Nota: observe el valor de shmmax, la cantidad de “memoria máxima reservada para un shared_buffer” que puede crear una aplicación debe ser igual o mayor al valor del shared_buffer de postgreSQL, este valor está en bytes y es ~ 275MB.
La cantidad máxima de archivos que pueden abrirse en un sistema, dependerá obviamente del nivel de trabajo de la DB, durante una operación regular, la gente puede ejecutar “lsof | wc” para obtener la cantidad de archivos abiertos.
  • Y luego, las aplicamos:
    sysctl -p
    --
    kernel.sem = 100 32000 100 128
    kernel.shmall = 3279547
    kernel.shmmax = 289128448
    kernel.shmmni = 8192
    fs.file-max = 287573
    vm.dirty_bytes = 67108864
    vm.dirty_background_bytes = 134217728
Ya, con estos sencillos cambios, podemos reiniciar el postresql:
/etc/init.d/postgresql restart
Restarting PostgreSQL 9.1 database server: main.
Y estamos listos para crear una partición y tablespace para nuestra DB.
Fuente: enlace

No hay comentarios:

Publicar un comentario

Entradas populares