pgBouncer: um aglomerador de conexões para PostgreSQL

  • 1,419 views
Uploaded on

 

More in: Technology , Business
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Be the first to comment
    Be the first to like this
No Downloads

Views

Total Views
1,419
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
22
Comments
0
Likes
0

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso pgBouncer: um aglomerador de conex˜es para o PostgreSQL Euler Taveira de Oliveira PostgreSQL Brasil 24 de abril de 2009 Euler Taveira de Oliveira PGDay SP
  • 2. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso Resumo 1 Introdu¸˜o ca 2 Arquitetura 3 pgBouncer 4 Caso de Sucesso Euler Taveira de Oliveira PGDay SP
  • 3. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso Conceito Aglomerador de Conex˜es (connection pooler) ´ um software que o e mant´m uma cache de conex˜es para serem utilizadas em e o requisi¸˜es futuras. co Euler Taveira de Oliveira PGDay SP
  • 4. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso Objetivo Diminuir impacto de performance causado pela abertura de novas conex˜es o Euler Taveira de Oliveira PGDay SP
  • 5. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso Cen´rio a consultas de curto prazo muitos usu´rios a Euler Taveira de Oliveira PGDay SP
  • 6. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso Cen´rio a consultas de curto prazo muitos usu´rios a Aplica¸˜es Web co Euler Taveira de Oliveira PGDay SP
  • 7. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso Resumo 1 Introdu¸˜o ca 2 Arquitetura 3 pgBouncer 4 Caso de Sucesso Euler Taveira de Oliveira PGDay SP
  • 8. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso PostgreSQL Euler Taveira de Oliveira PGDay SP
  • 9. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso Conex˜o a Euler Taveira de Oliveira PGDay SP
  • 10. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso Arquitetura do Sistema Euler Taveira de Oliveira PGDay SP
  • 11. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso Resumo 1 Introdu¸˜o ca 2 Arquitetura 3 pgBouncer 4 Caso de Sucesso Euler Taveira de Oliveira PGDay SP
  • 12. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso Modos de Opera¸˜o ca aglomera¸˜o por sess˜o (session pooling) – gentil ca a aglomera¸˜o por transa¸˜o (transaction pooling) ca ca aglomera¸˜o por comando (command pooling) – agressivo ca Euler Taveira de Oliveira PGDay SP
  • 13. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso Configura¸˜o ca arquivo de autentica¸˜o ca arquivo de configura¸˜o (formato ini) ca Euler Taveira de Oliveira PGDay SP
  • 14. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso Arquivo de Autentica¸˜o ca idˆntico ao $PGDATA/global/pg auth e pode-se utilizar o mesmo arquivo se o pgBouncer estiver na mesma m´quina do PostgreSQL a Euler Taveira de Oliveira PGDay SP
  • 15. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso Arquivo de Configura¸˜o ca [databases] empresa = host=127.0.0.1 port=5432 dbname=4linux [pgbouncer] listen_addr = 127.0.0.1 listen_port = 6432 auth_type = md5 auth_file = /etc/pgbouncer/users logfile = /var/log/pgbouncer/pgbouncer.log pidfile = /var/run/pgbouncer/pgbouncer.pid admin_users = pedro stats_users = joao, maria pool_mode = transaction max_client_conn = 500 default_pool_size = 100 Euler Taveira de Oliveira PGDay SP
  • 16. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso Arquivo de Configura¸˜o - databases ca Se¸˜o databases ca 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
  • 17. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso Arquivo de Configura¸˜o - pgbouncer ca Op¸˜es Gerais co 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
  • 18. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso Arquivo de Configura¸˜o - pgbouncer ca Op¸˜es de Log co syslog syslog facility log connections log disconnections log pooler errors Euler Taveira de Oliveira PGDay SP
  • 19. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso Arquivo de Configura¸˜o - pgbouncer ca Verifica¸˜es e Tempo de Espera co 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
  • 20. Introdu¸˜o ca Arquitetura pgBouncer 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
  • 21. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso Monitoramento pgbouncer=# show stats; -[ RECORD 1 ]----+----------- database | bench total_requests | 8014 total_received | 3121707 total_sent | 1527374 total_query_time | 1361574602 avg_req | 0 avg_recv | 0 avg_sent | 0 avg_query | 0 Euler Taveira de Oliveira PGDay SP
  • 22. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso Controle de Opera¸oes c˜ PAUSE: desconecta todos clientes mas espera consultas terminarem; SUSPEND: para de atender requisi¸˜es; co RESUME: voltar a trabalhar ap´s comandos PAUSE e o SUSPEND; SHUTDOWN: termina o processo do pgBouncer; RELOAD: carrega novamente o arquivo de configura¸˜o. ca Euler Taveira de Oliveira PGDay SP
  • 23. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso Controle de Opera¸oes c˜ pgbouncer=# pause; PAUSE pgbouncer=# resume; RESUME pgbouncer=# reload; RELOAD Euler Taveira de Oliveira PGDay SP
  • 24. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso Resumo 1 Introdu¸˜o ca 2 Arquitetura 3 pgBouncer 4 Caso de Sucesso Euler Taveira de Oliveira PGDay SP
  • 25. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso Caso de Sucesso: last.fm Carga Euler Taveira de Oliveira PGDay SP
  • 26. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso Caso de Sucesso: last.fm Mem´ria o Euler Taveira de Oliveira PGDay SP
  • 27. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso Caso de Sucesso: last.fm CPU Euler Taveira de Oliveira PGDay SP
  • 28. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso Referˆncias e 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
  • 29. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso Vida Longa ao PostgreSQL Euler Taveira de Oliveira PGDay SP
  • 30. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso Perguntas ? Euler Taveira de Oliveira euler@timbira.com http://www.timbira.com/ Euler Taveira de Oliveira PGDay SP