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.
Qual a versão do PostgreSQL, sistema operacional e quantos núcleos de
processamento tens no seu servidor?
Li também problemas relacionados a overhead no processo de checkpoint,
os parametros 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?
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