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

Responder a