Boa tarde Pessoal,

No meu ambiente atual de Produção rodam 38 sistemas de clientes distintos,
sendo que cada um deles tem um contexto na aplicação e um banco separado,
segue abaixo minha configuração:

Software:

Banco de dados (01 servidor):

- Versão PostgreSQL 9.2.4 on x86_64-unknown-linux-gnu, compiled by gcc
(GCC) 4.4.7 20120313 (Red Hat 4.4.7-3), 64-bit

- Customizações no postgresql.conf
max_connections = 200
shared_buffers = 7680MB
work_mem = 58MB
maintenance_work_mem = 1500MB
effective_cache_size = 15360MB
checkpoint_segments = 32
checkpoint_timeout = 15min
max_locks_per_transaction = 512

- Sistema Operacional: CentOS release 6.4 (Final) - Kernel:
2.6.32-279.19.1.el6.x86_64 #1 SMP Wed Dec 19 07:05:20 UTC 2012 x86_64
x86_64 x86_64 GNU/Linux

- Sistema de arquivos: S.O (ext4 - defaults,noatime), pgsql/9.2/data (ext4
- defaults,noatime), pg_xlog (ext3 - defaults,noatime,data=writeback) e
backup (ext4 - defaults,noatime)

- Temos bancos de tamanhos distintos variando entre 800MB e 10 GB, no total
temos 37 GB;

Servidores de aplicação (Entre 01 e 04 - são iniciados sob demanda,
dependendo do uso de CPU):
- Versão Apache Tomcat/6.0.36.0
- Pool de conexão implementado pela aplicação web
- Sistema Operacional: CentOS release 6.4 (Final) - Kernel:
2.6.32-279.19.1.el6.x86_64 #1 SMP Wed Dec 19 07:05:20 UTC 2012 x86_64
x86_64 x86_64 GNU/Linux
- Sistema de arquivos: S.O (ext4 - defaults,noatime), Aplicação (ext4 -
defaults,noatime)

Hardware:

Servidor de banco:
CPU: 2 x Xeon Quad Core HT - 2.6 GHz
Memória: 30 GB
Discos dedicados para S.O (RAID 1), pgsql/9.2/data (RAID 5), pg_xlog (RAID
0) e backup (RAID 1)

Servidor de aplicação:
CPU: 2 x Xeon Dual Core HT - 2.0 GHz
Memória: 15 GB
Discos dedicados para S.O (RAID 1), Aplicação (RAID 1)

Estamos com previsão de entrada de mais 10 ou 15 clientes nos próximos 02
meses, nesse caso ficaríamos com algo em torno de 50 clientes, e devido a
isso eu precisaria mais uma vez subir o numero do max_connections para 250
ou 300, hoje raramente temos reclamações de performance no banco a não ser
em casos de locks gerados por problemas na própria aplicação.

Minha dúvida é (Ufa até que enfim...):

O que os senhores me recomendariam para este ambiente em termos de
melhorias?
Será que esse aumento no max_connections poderá ter impactos na performance?
Seria o caso de colocar um segundo servidor de banco para replicação e
balanceamento de carga?
Se sim qual seria o tipo de replicação recomendada?

Muito obrigado pela paciência de ler isso tudo até o final e desculpem de
esqueci de citar algo importante.

Um abraço,

Nildo Abreu
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a