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.
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 |