On 02-10-2015 16:49, Leonardo Guimarães wrote:
Estou desenvolvendo um projeto e vi apossibilidade de implementar o PgBouncer.
O projeto atenderia em torno de 200 conexões simultâneas.
O certo seria implantar ele do lado do cliente, no mesmo ambiente do APP ou no
lado do servidor de dados?
Depende. Você não mencionou a arquitetura do seu sistema. Em uma
arquitetura cliente-servidor, o pgBouncer fica junto com o SGBD. Em uma
arquitetura web você pode ter tanto o pgBouncer nos servidores de
aplicação quanto no servidor do SGBD.
O que você deve ter em mente é que onde o pgBouncer estiver, a conexão a
ele é via socket (que é bem mais rápido do que a conexão TCP). Isso quer
dizer que se o pgBouncer tiver que ficar estabelecendo muitas conexões
ao longo do dia (para atender os picos de acesso, por exemplo) é melhor
você ter o pgBouncer próximo ao SGBD.
Há a opção de colocar o pgBouncer em um servidor separado mas não é
recomendado pois (i) é mais um ponto de falha e (ii) você perde o
benefício das conexões via socket.
Eu já vi pessoas mencionarem instalar o pgBouncer tanto no servidor de
aplicações quanto no servidor do SGBD mas eu não tenho números para
afirmar se a diferença é tão grande com relação a um único pgBouncer.
Em termos de administração, ter um pgBouncer somente é o melhor cenário.
Se sua arquitetura for web e você optou por instalar pgBouncer no
servidor de aplicações, você vai precisar instalá-lo em N servidores de
aplicação. No cenário com pgBouncer dos dois lados, você terá mais
trabalho ainda (a instalação deve ocorrer em N+1 servidores de
aplicação). Se bem que o pgBouncer não lança versões com tanta frequência.
--
Euler Taveira Timbira - http://www.timbira.com.br/
PostgreSQL: Consultoria, Desenvolvimento, Suporte 24x7 e Treinamento
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral