Skip site navigation (1) Skip section navigation (2)

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 (view raw or flat)
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

pgsql-es-ayuda by date

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

Privacy Policy | About PostgreSQL
Copyright © 1996-2014 The PostgreSQL Global Development Group