Em 22 de dezembro de 2016 12:23, Júlio César Martini
<juliomart...@gmail.com> escreveu:
>
> Caros,
>
> Duas perguntinhas:
>
> 1. Eu utilizo o servidor de aplicação Glassfish para a minha aplicação e lá 
> defino um pool de conexão de 200. No meu PostgreSQL não preciso deixar no 
> max_conections o valor de 200, isso pode ser menor. Estou certo disso?
> Como que consigo mensurar quanto seria o meu max_connections? Atualmente hoje 
> minha app tem em torno de 170 usuários simultâneos acessando e é uma app web.

Você precisará de um número de max_connections no PostgreSQL igual ou
superior ao número máximo e conexões no pool do Glassfish. Cada slot
do pool da aplicação refere-se a uma possível conexão ativa ao banco
de dados, portanto se você deixar um limite menor em algum momento o
seu pool de conexões irá falhar ao criar uma nova conexão.

> 2. Se já uso um pool de conexão no Glassfish eu teria algum ganho usando o 
> pgBouncer?

Se você não estiver em um ambiente com failover gerenciado pelo
pgBouncer e não existem outras aplicações conectando ao banco, não
vejo motivos para usar o pgBouncer.

> PS: Pergunto isso pois hoje estou com um LOAD AVERAGE alto em minha máquina 
> do PostgreSQL. Máquina 4 core com 4GB de memória. O load pode estar ocorrendo 
> por conta dessas conexões. Os checkpoints ocorrem de 5
> em 5 min quando dão timeout.

Já identificou o motivo do LOAD AVERAGE alto? O fato de criar as
conexões e mantê-las ativas não é motivo para aumentar o uso de CPU.

Se sua aplicação está bem escrita (conecta, executa, commit/rollback,
desconecta), você pode tentar reduzir o número de conexões do pool do
Glassfish (e do PostgreSQL também) para reduzir o uso de memória
compartilhada (shared_memory). Entretanto, a utilização de CPU está
ligada diretamente a algum procedimento ou consulta mais complexa em
execução, ou se for uma consulta menos complexa, a quantidade de
ocorrências sequenciais (em outras palavras, executada muitas vezes)
também pode impactar no alto uso de CPU.

Adami
_______________________________________________
pgbr-geral mailing list
pgbr-geral@listas.postgresql.org.br
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a