pgbouncer: um aglomerador de conexões para postgresql

Post on 05-Jul-2015

1.557 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

IntroducaoArquiteturapgBouncer

Caso de Sucesso

pgBouncer: um aglomerador de conexoes paraPostgreSQL

Euler Taveira de Oliveira

PostgreSQL Brasil

24 de abril de 2009

Euler Taveira de Oliveira PGDay SP

IntroducaoArquiteturapgBouncer

Caso de Sucesso

Resumo

1 Introducao

2 Arquitetura

3 pgBouncer

4 Caso de Sucesso

Euler Taveira de Oliveira PGDay SP

IntroducaoArquiteturapgBouncer

Caso de Sucesso

Conceito

Aglomerador de Conexoes (connection pooler) e um software quemantem uma cache de conexoes para serem utilizadas emrequisicoes futuras.

Euler Taveira de Oliveira PGDay SP

IntroducaoArquiteturapgBouncer

Caso de Sucesso

Objetivo

Diminuir impacto de performance causado pela abertura de novasconexoes

Euler Taveira de Oliveira PGDay SP

IntroducaoArquiteturapgBouncer

Caso de Sucesso

Cenario

consultas de curto prazo

muitos usuarios

Aplicacoes Web

Euler Taveira de Oliveira PGDay SP

IntroducaoArquiteturapgBouncer

Caso de Sucesso

Cenario

consultas de curto prazo

muitos usuarios

Aplicacoes Web

Euler Taveira de Oliveira PGDay SP

IntroducaoArquiteturapgBouncer

Caso de Sucesso

Resumo

1 Introducao

2 Arquitetura

3 pgBouncer

4 Caso de Sucesso

Euler Taveira de Oliveira PGDay SP

IntroducaoArquiteturapgBouncer

Caso de Sucesso

PostgreSQL

Euler Taveira de Oliveira PGDay SP

IntroducaoArquiteturapgBouncer

Caso de Sucesso

Conexao

Euler Taveira de Oliveira PGDay SP

IntroducaoArquiteturapgBouncer

Caso de Sucesso

Arquitetura do Sistema

Euler Taveira de Oliveira PGDay SP

IntroducaoArquiteturapgBouncer

Caso de Sucesso

Resumo

1 Introducao

2 Arquitetura

3 pgBouncer

4 Caso de Sucesso

Euler Taveira de Oliveira PGDay SP

IntroducaoArquiteturapgBouncer

Caso de Sucesso

Modos de Operacao

aglomeracao por sessao (session pooling) – gentil

aglomeracao por transacao (transaction pooling)

aglomeracao por comando (command pooling) – agressivo

Euler Taveira de Oliveira PGDay SP

IntroducaoArquiteturapgBouncer

Caso de Sucesso

Configuracao

arquivo de autenticacao

arquivo de configuracao (formato ini)

Euler Taveira de Oliveira PGDay SP

IntroducaoArquiteturapgBouncer

Caso de Sucesso

Arquivo de Autenticacao

identico ao $PGDATA/global/pg auth

pode-se utilizar o mesmo arquivo se o pgBouncer estiver namesma maquina do PostgreSQL

Euler Taveira de Oliveira PGDay SP

IntroducaoArquiteturapgBouncer

Caso de Sucesso

Arquivo de Configuracao

[databases]empresa = host=127.0.0.1 port=5432 dbname=4linux[pgbouncer]listen_addr = 127.0.0.1listen_port = 6432auth_type = md5auth_file = /etc/pgbouncer/userslogfile = /var/log/pgbouncer/pgbouncer.logpidfile = /var/run/pgbouncer/pgbouncer.pidadmin_users = pedrostats_users = joao, mariapool_mode = transactionmax_client_conn = 500default_pool_size = 100

Euler Taveira de Oliveira PGDay SP

IntroducaoArquiteturapgBouncer

Caso de Sucesso

Arquivo de Configuracao - databases

Secao databases

dbname

host

port

user

password

pool size

client encoding

empresa = host=127.0.0.1 port=5432 dbname=4linux

Euler Taveira de Oliveira PGDay SP

IntroducaoArquiteturapgBouncer

Caso de Sucesso

Arquivo de Configuracao - pgbouncer

Opcoes Gerais

logfile

auth type (trust, any, plain, crypt e md5)

auth file ($PGDATA/global/pg auth)

pool mode (session, transaction e statement)

admin users

stat users

max client conn

default pool size

reserve pool size

server round robin

Euler Taveira de Oliveira PGDay SP

IntroducaoArquiteturapgBouncer

Caso de Sucesso

Arquivo de Configuracao - pgbouncer

Opcoes de Log

syslog

syslog facility

log connections

log disconnections

log pooler errors

Euler Taveira de Oliveira PGDay SP

IntroducaoArquiteturapgBouncer

Caso de Sucesso

Arquivo de Configuracao - pgbouncer

Verificacoes e Tempo de Espera

server reset query (DISCARD ALL)

server check query (SELECT 1)

server idle timeout

server login retry

client login timeout

Euler Taveira de Oliveira PGDay SP

IntroducaoArquiteturapgBouncer

Caso de Sucesso

Monitoramento

SHOW STATS

SHOW SERVERS

SHOW CLIENTS

SHOW POOLS

SHOW LISTS

SHOW USERS

SHOW DATABASES

SHOW FDS

SHOW CONFIG

Euler Taveira de Oliveira PGDay SP

IntroducaoArquiteturapgBouncer

Caso de Sucesso

Monitoramento

pgbouncer=# show stats;-[ RECORD 1 ]----+-----------database | benchtotal_requests | 8014total_received | 3121707total_sent | 1527374total_query_time | 1361574602avg_req | 0avg_recv | 0avg_sent | 0avg_query | 0

Euler Taveira de Oliveira PGDay SP

IntroducaoArquiteturapgBouncer

Caso de Sucesso

Controle de Operacoes

PAUSE: desconecta todos clientes mas espera consultasterminarem;

SUSPEND: para de atender requisicoes;

RESUME: voltar a trabalhar apos comandos PAUSE eSUSPEND;

SHUTDOWN: termina o processo do pgBouncer;

RELOAD: carrega novamente o arquivo de configuracao.

Euler Taveira de Oliveira PGDay SP

IntroducaoArquiteturapgBouncer

Caso de Sucesso

Controle de Operacoes

pgbouncer=# pause;PAUSEpgbouncer=# resume;RESUMEpgbouncer=# reload;RELOAD

Euler Taveira de Oliveira PGDay SP

IntroducaoArquiteturapgBouncer

Caso de Sucesso

Resumo

1 Introducao

2 Arquitetura

3 pgBouncer

4 Caso de Sucesso

Euler Taveira de Oliveira PGDay SP

IntroducaoArquiteturapgBouncer

Caso de Sucesso

Caso de Sucesso: last.fm

Carga

Euler Taveira de Oliveira PGDay SP

IntroducaoArquiteturapgBouncer

Caso de Sucesso

Caso de Sucesso: last.fm

Memoria

Euler Taveira de Oliveira PGDay SP

IntroducaoArquiteturapgBouncer

Caso de Sucesso

Caso de Sucesso: last.fm

CPU

Euler Taveira de Oliveira PGDay SP

IntroducaoArquiteturapgBouncer

Caso de Sucesso

Referencias

http://pgfoundry.org/projects/pgbouncer/http://www.postgresql.org/

http://www.postgresql.org.br/http://www.lastfm.com.br/user/Russ/journal/2008/02/21/

zd postgres connection pools: pgpool vs. pgbouncer

Euler Taveira de Oliveira PGDay SP

IntroducaoArquiteturapgBouncer

Caso de Sucesso

Vida Longa ao PostgreSQL

Euler Taveira de Oliveira PGDay SP

IntroducaoArquiteturapgBouncer

Caso de Sucesso

Perguntas

?

Euler Taveira de Oliveiraeuler@timbira.com

http://www.timbira.com/

Euler Taveira de Oliveira PGDay SP

top related