O pool de conexões permite que várias conexões estejam ativas (em outras
palavras, "conectadas") para que a sua aplicação receba rapidamente uma
delas e possa trabalhar. Desta forma, é possível que várias conexões estejam
ativas no seu banco de dados, mas isto não indica que elas estejam sendo
utilizadas.

O número máximo de conexões ao banco você define no arquivo PostgreSQL no
parâmetro "max_connections". Obviamente quanto mais conexões, maior será o
uso de memória compartilhada (ver [1]). Entretanto, se a sua aplicação está
usando pool de conexões ela possui configurada um valor mínimo e um valor
máximo de conexões simultâneas.

Você só precisa configurar um número máximo de conexões simultâneas que o
seu hardware suporte, e desde que o número máximo do pool não exceda o
máximo configurado para o PostgreSQL, a sua preocupação deve se concentrar
nas operações que a aplicação irá executar e não com o número de conexões
ativas.

Resumindo: não importa o número de conexões ativas, e sim o que elas fazem.
Cada conexão ao PostgreSQL utiliza apenas 400bytes de memória compartilhada
(mesmo que não sendo utilizada).

[1] http://www.postgresql.org/docs/8.2/static/runtime-config-connection.html

-- 
Tiago J. Adami
Dois Vizinhos - Paraná - Brasil


2009/8/3 jorge sanfelice <[email protected]>

> Prezados,
> Em verificacoes de rotina de um determinado server de banco de dados
> vi o seguinte:
>
> duração: 0.028 ms  ligação S_1: BEGIN
> duration: 0.017 ms  executar S_1: BEGIN
> duração: 0.897 ms  análise de <unnamed>:  SELECT  veioid,veiplaca
> FROM veiculo  INNER JOIN login_veiculo ON logvveioid = veioid  WHERE
> logvlogoid = 6
> duração: 0.137 ms  ligação <unnamed>:  SELECT  veioid,veiplaca  FROM
> veiculo  INNER JOIN login_veiculo ON logvveioid = veioid  WHERE
> logvlogoid = 6
> duration: 0.182 ms  executar <unnamed>:  SELECT  veioid,veiplaca  FROM
> veiculo  INNER JOIN login_veiculo ON logvveioid = veioid  WHERE
> logvlogoid = 6
> duração: 0.037 ms  ligação S_2: ROLLBACK
> duration: 0.041 ms  executar S_2: ROLLBACK
>
> E nao entendi porque estava fazendo isso, ai perguntei e descobri que
> estavam usando pool de conexoes nesse server e que isso era referente
> ao pool.
>
> A duvida é se isso pode gerar algum problema de performance
> futuramente? Digo isso, porque hoje nesse server a demanda esta baixa
> porque ainda esta em testes, mais daqui um mes ira substituir outro
> programa de producao.
>
> Resumindo isso que o pool de conexoes faz, pode prejudicar a
> performance ou pode me trazer problemas futuros ou nao preciso
> esquentar a cabeça que isso é normal?
> _______________________________________________
> 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