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

Responder a