RE: configuraciones del PostgreSQL.conf con 8.4.1

From: "Fernando Hevia" <fhevia(at)ip-tel(dot)com(dot)ar>
To: "'Diego Ayala'" <netdiego81(at)gmail(dot)com>, "'Postgres Ayuda'" <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: RE: configuraciones del PostgreSQL.conf con 8.4.1
Date: 2010-03-16 20:43:41
Message-ID: 9078AAB85BC74B32965480B36F680946@iptel.com.ar
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

> -----Mensaje original-----
> De: Diego Ayala
>
> buenas tardes listeros quisiera pedirles algo de ayuda para
> mi configuración ya que estoy teniendo algunos problemas de swap.
> Mi configuración es la siguiente:
> - PostgreSQL 8.4.1 de 64 bits
> - Memoria 10GB
> - Swap 2GB
> -Centos 5.3
> - 8 core
>
> Mi problema es que con toda esa memoria que tengo igualmente
> sigue utilizando el swap, y generalmente utiliza diariamente
> entre 9 y 10 GB. Es un sistema transaccional web, con un
> promedio de 100 a 150 conexiones concurrentes, intente
> basarme en la experiencia y algunos tips de tunning y
> performance, no se si igualmente lo he configurado mal, o
> donde puede ser el problema que tenga tanto consumo de
> memoria, y x sobre todo no lo libera.. de ahi que no se si es
> mi configuración de postgreSQL o la del SO.
>
> les paso algunos de los parametros
>
>
> listen_addresses = '*'
>
> #port = 5432
> max_connections = 500
>
>
> # Kerberos and GSSAPI
> #krb_server_keyfile = ''
> #krb_srvname = 'postgres'
> #krb_caseins_users = off
>
> # - TCP Keepalives -
> # see "man 7 tcp" for details
>
> tcp_keepalives_idle = 900
>
> tcp_keepalives_interval = 90
>
> tcp_keepalives_count = 5
>
> # - Memory -
>
> shared_buffers = 2GB
>
> #temp_buffers = 8MB
> #max_prepared_transactions = 0
>
> work_mem = 8MB
> maintenance_work_mem = 512MB
>
> effective_cache_size = 4GB
>

Diego, tus seteos son razonables si el servidor está dedicado a Postgres. Si
bien work_mem = 8MB te implica 1.5GB de memoria para tus 150 usuarios esto
no debiera ser un problema, aunque para esa cantidad de conexiones te
sugeriría bajarlo a 2MB. Mejor sugerencia aún para tu escenario es que
utilices un pool y limites a unas 40 o 50 conexiones simultáneas a la base.

Tirá un 'free -ml' cuando veas que ocupa mucho swap y posteá la salida.
Tambien podés en ese momento verificar los procesos de postgres ordenados
por consumo de memoria:

ps ax -o rss,user,pid,pmem,pcpu,command --user postgres | sort -n

o elimina '--user postgres' para ver los procesos de todos los usuarios.

Saludos,
Fernando.

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Diego Ayala 2010-03-16 20:54:36 Re: configuraciones del PostgreSQL.conf con 8.4.1
Previous Message Miguel Angel Hernandez Moreno 2010-03-16 19:16:27 Re: ayuda con pcp_recovery_node