> -----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. -- TIP 8: explain analyze es tu amigo