[Pgsql-ayuda] Optimizac ión de una base de datos en producción...

Alvaro Herrera alvherre@dcc.uchile.cl
Sun, 25 May 2003 13:04:49 -0400


On Sun, May 25, 2003 at 12:42:47PM +0000, Manuel Infante Ruiz wrote:

Manuel,

>   Me gustaría saber si en postgresql existen determinados parámetros para 
> poder adaptar la base de datos en producción al entorno en el que se va a 
> desenvolver. En Oracle existen muchos (tamaño del bloque, tablespaces, 
> etc...)  en postgresql también?

Sí, hay algunos.  No tantos como en Oracle, afortunadamente.  La mayoría
están en el archivo postgresql.conf, pero no todos.

>  ¿Podeis darme algunos consejos a la hora de implantar un servidor 
> PostgreSQL en produccción?

- Lo más importante es aumentar el número de shared_buffers.  Prueba
  dejándolos en un 25% de la memoria, haces alguna prueba de rendimiento
  que sea razonable, lo subes un poco y vuelves a probar, y la sigues
  subiendo hasta que el rendimiento deje de aumentar.  En mi opinión, si
  te pasas del 30% o así del total de RAM, es demasiado.

- Deja el directorio pg_xlog como symlink a un disco donde sea lo único
  que haya.  Esto es lo que te asegura más rendimento en términos de
  mover cosas a otros discos.  Planifica con cuidado si quieres que tus
  datos sobrevivan a la muerte de un disco -- pg_xlog es tan vital como
  el resto de los archivos.  Podrías tener dos grupos de RAID y un disco
  aparte:  el primer grupo de RAID para pg_xlog ($PGDATA/data/pg_xlog),
  el otro para los archivos de los datos ($PGDATA/data), y el disco
  suelto para los archivos del sistema operativo (incluyendo los
  binarios de Postgres).  Este último disco en general debería andar
  poco, los dos arreglos deberían andar "mucho" (dependiendo de la carga
  de la base de datos).

  Nota que no necesitas que el arreglo de discos en pg_xlog sea grande.
  Lo único importante es que sea redundante y que no tenga nada más que
  pg_xlog.  No trates de hacerte el listo haciendo un arreglo de
  particiones que estén en los mismos discos -- eso no te va a servir
  para nada...

Hay varios parámetros más en postgresql.conf que debes descubrir por ti
mismo, mira en
http://developer.postgresql.org/docs/postgres/runtime.html

En http://techdocs.postgresql.org hay varios documentos relevantes.
Échale una mirada a todo eso.

Cuando tengas tu servidor andado, escribes un artículo en español con
todos los pasos que seguiste y lo publicas por acá (quizás en
www.postgresql.cl) para que el próximo que venga pueda remitirse a él.

-- 
Alvaro Herrera (<alvherre[a]dcc.uchile.cl>)
"La fuerza no está en los medios físicos
sino que reside en una voluntad indomable" (Gandhi)