Em 27 de agosto de 2015 12:08, Flavio Henrique Araque Gurgel < [email protected]> escreveu:
> Observo a algum tempo, que quando existe um aumento grande de conexões >> do pool do Jboss no PostgreSQL, parece aumentar o LOAD do servidor, e os >> IOPS. Aumento esse de 50 conexões para cerca de 300 ou mais, no espaço >> de segundos, e o interessante é que no período em que as conexões estão >> sendo abertas, o banco não executa nenhuma transação. Peguei no log >> casos em que ficamos com quase 8 segundos sem nenhuma transação, apenas >> abertura de conexões. >> >> Essa situação é normal? Existe realmente algum custo alto na abertura de >> > > Sim. > > novas conexões que poderia estar causando essa situação realmente? Ou a >> abertura de conexões seria apenas um efeito causado por algum processo >> que está causando "indisponibilidade" do servidor, fazendo com que o >> pool do Jboss abra mais e mais conexões. >> > > Sim e sim. Efeito cascata. > > Meu pool do Jboss está configurado da seguinte forma: Inicia com 20 >> conexões, conexões máximas por app é 100, e conexões em idle a mais de 5 >> minutos são liberadas. >> > > Muito. Use menos. MUITO menos. > Sei que isso não é uma ciência exata, mas o que vocês indicariam como saudável? Pois hoje rodamos o sistema com 4 Apps, geralmente cada um deles roda com 15 conexões. Deveria reduzir esse max do pool para um valor mais baixo, e em casos em que há picos de conexão por qualquer fator que seja, esperar que o pool se recupere? Pq já pensei nessa possibilidade também, limitar o numero de conexões ao banco e deixar o pool fazer o seu trabalho. > Qual a versão do PostgreSQL, sistema operacional e quantos núcleos de > processamento tens no seu servidor? 9.2.13, Ubuntu Server 14.04, 32 núcleos hoje apenas por um período, mas o normal é uma EC2 com 16 núcleos. > > > Li também problemas relacionados a overhead no processo de checkpoint, >> os parâmetros hoje estão da seguinte forma. >> >> checkpoint_segments = 256 >> checkpoint_timeout = 30min >> checkpoint_warning = 30min >> checkpoint_completion_target = 0.9 >> bgwriter_lru_maxpages = 500 >> bgwriter_lru_multiplier = 3 >> bgwriter_delay = 50ms >> > > Durante checkpoints existe escrita intensiva nos discos. > Mais uma vez, qual a versão do PostgreSQL? > Como estão separados e que tipo de discos usa? > Os dados estão em SSD com RAID 10, 10 volumes de 200GB, totalizando 6000IOPS. A PGDATA está em um SSD de 50GB. > Note que não é um overhead, é normal o PostgreSQL fazer isso, faz parte do > trabalho dele. > > []s > Flavio Gurgel > _______________________________________________ > pgbr-geral mailing list > [email protected] > https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
_______________________________________________ pgbr-geral mailing list [email protected] https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral
