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
