Autor Tema: Parametrización para el uso de memoria de PostgreSQL  (Leído 3568 veces)

0 Usuarios y 1 Visitante están viendo este tema.

imelo

  • Visitante
Parametrización para el uso de memoria de PostgreSQL
« on: Enero 19, 2015, 01:14:07 pm »
Al Pedido de la gente de  Univ. Nacional de la Patagonia Austral (UNPA).
Cita
Buenos tardes usuarios como estan?, el motivo del presente es para realizar
una consulta, aca en la UNPA estamos realizando el proceso de cambio de
ejercicio y al momento de realizar el proceso de migración de transacciones
se nos lentiza demasiado esta migración para los Fondos de Terceros,
entendemos que tenemos varios fondos por migrar pero hemos superado las 18
horas de ejecución, a alguna otra universidad le paso algo similar?.

Nuestro servidor esta en Linux - Debian, tenemos la configuración
recomendada tanto para php como para postgres.
Para postgres alquien uso alguna parametrizacion particular?.

Desde ya muchas gracias!

Ing. Sonia E. Molina
Univ. Nacional de la Patagonia Austral

Dejo una respuesta que les puede servir de 
Tomas Delvechio
Universidad Nacional de Luján

Cita
Hola, nosotros si parametrizamos el uso de memoria de PostgreSQL. Tené
en cuenta que depende de tu Hardware (De la memoria disponible mas que
nada).

En el archivo /etc/postgresql/8.4/main/postgresql.conf hay una seccion
lllamada "RESOURCE USAGE". Ahi nosotros particularmente tocamos 3
parametros:

shared_buffers
work_mem
maintenance_work_mem

En un server de 6Gb de RAM, nosotros esos valores los tenemos asi

shared_buffers = 500MB
work_mem = 90MB
maintenance_work_mem = 100MB

Con estos valores migramos en tiempos mas o menos decentes (1 hora y
pico si mal no recuerdo), aunque obviamente depende del volumen de
tramites en cada caso también.

Antes que me olvide, estos cambios pueden afectar cierto limite de
memoria en el kernel. si tenes un problema de que el proceso se corta
por falta de memoria compartida, se tiene que setear SHMMAX.

Al vuelo (La proxima ves que reinicies perdes el cambio):

echo 1073741824>  /proc/sys/kernel/shmmax

De forma permanente: Editar el archivo /etc/sysctl.conf y agregar la
siguiente linea

kernel.shmmax = 1073741824

Anda probando y testeando para valores que se ajusten a tu Hardware.

La documentación:
http://www.postgresql.org/docs/9.1/static/runtime-config-resource.html


Gracias  Tomas Delvechio

Saludos.