pgBouncer: um aglomerador de conexões para PostgreSQL

1,864 views
1,752 views

Published on

Published in: Technology, Business
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,864
On SlideShare
0
From Embeds
0
Number of Embeds
10
Actions
Shares
0
Downloads
28
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

pgBouncer: um aglomerador de conexões para PostgreSQL

  1. 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. 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. 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. 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. 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. 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. 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. 8. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso PostgreSQL Euler Taveira de Oliveira PGDay SP
  9. 9. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso Conex˜o a Euler Taveira de Oliveira PGDay SP
  10. 10. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso Arquitetura do Sistema Euler Taveira de Oliveira PGDay SP
  11. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 25. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso Caso de Sucesso: last.fm Carga Euler Taveira de Oliveira PGDay SP
  26. 26. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso Caso de Sucesso: last.fm Mem´ria o Euler Taveira de Oliveira PGDay SP
  27. 27. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso Caso de Sucesso: last.fm CPU Euler Taveira de Oliveira PGDay SP
  28. 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. 29. Introdu¸˜o ca Arquitetura pgBouncer Caso de Sucesso Vida Longa ao PostgreSQL Euler Taveira de Oliveira PGDay SP
  30. 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

×