Tive um bom resultado usando o pgtune no postgresql.
Espero que ajude
2010/3/16 José Carlos Messias <[email protected]>
> Boa Tarde,
>
> Estou precisando de algumas dicas para melhorar a performance do meu
> servidor, que é utilizando por uma aplicação em php.
>
> Tenho em média 150 conexões no apache, pegando informações do banco
>
> Rodei o seguinte comando no servidor apache e me retornou assustadores
> 1996 conexões ou estou enganado:
> netstat -plan|grep :5432|awk {'print $5'} | cut -d: -f 1 | sort | uniq
> -c | sort -nk 1
>
> O mesmo comando no servidor postgresql retorna 138
>
> Tenho um servidor DELL 2900, com 4 HDs em Raid 10, 8 GB de Ram,
> com 2 processadores quad core Intel(R) Xeon(R) CPU E5440 @ 2.83GHz
>
> monitoramento via mrtg indica 67% de uso do processador e 30% de
> memoria no maior pico
>
> saida do comando top
> top - 12:26:21 up 47 days, 23:12, 2 users, load average: 3.87, 4.34, 4.10
> Tasks: 250 total, 6 running, 244 sleeping, 0 stopped, 0 zombie
> Cpu(s): 9.0%us, 3.7%sy, 0.0%ni, 76.5%id, 10.1%wa, 0.1%hi, 0.5%si,
> 0.0%st
> Mem: 8186412k total, 8139220k used, 47192k free, 36932k buffers
> Swap: 9767480k total, 4584k used, 9762896k free, 6883780k cached
>
> segue arquivo postgresql.conf
> cat /etc/postgresql/8.3/main/postgresql.conf
>
> data_directory = '/var/lib/postgresql/8.3/main'
> hba_file = '/etc/postgresql/8.3/main/pg_hba.conf'
> ident_file = '/etc/postgresql/8.3/main/pg_ident.conf'
> external_pid_file = '/var/run/postgresql/8.3-main.pid'
> listen_addresses = '*'
> port = 5432
> unix_socket_directory = '/var/run/postgresql'
> ssl = false
>
> checkpoint_segments = 16
> checkpoint_completion_target = 0.9
> wal_buffers = 8MB
>
> max_connections = 550
> shared_buffers = 1920MB
> work_mem = 16MB
> maintenance_work_mem = 480MB
> max_fsm_pages = 245760
> max_fsm_relations = 2100
> log_statement = 'all'
>
> log_line_prefix = '%t '
> datestyle = 'iso, dmy'
>
> lc_messages = 'pt_BR.UTF-8'
> lc_monetary = 'pt_BR.UTF-8'
> lc_numeric = 'pt_BR.UTF-8'
> lc_time = 'pt_BR.UTF-8'
> default_text_search_config = 'pg_catalog.portuguese'
>
> autovacuum = off
> log_autovacuum_min_duration = -1
>
> synchronous_commit = on
> wal_buffers = 8MB
>
> default_statistics_target = 10
>
> constraint_exclusion = off
> _______________________________________________
> pgbr-geral mailing list
> [email protected]
> https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
>
--
André Luiz Martins Pignata
Integral Convênios Odontológicos
Gerente de TI
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral