SlideShare ist ein Scribd-Unternehmen logo
1 von 38
Downloaden Sie, um offline zu lesen
Performance Tuning para banco de dados
             PostgreSQL

                 Fernando Ike de Oliveira

                           B2BR - Grupo TBA


 Agosto de 2008 / Congresso Internacional Sociedade e
               Governo Eletrônico 2008




            Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
Para não cometer gafes...




   Como fala/escreve mesmo?
      Escreve-se PostgreSQL ou postgres
       Pronúncia-se postígres-és-qüi-uel ou postígres
       Não se diz/escreve: Postgree, PostrGREE, Postgrí




                  Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
Qual a velocidade máxima de um carro supersônico?




                 Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
Características de um carro supersônico. . .




                  Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
Qual a velocidade máxima de um dragster?




                 Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
Qual a velocidade máxima de um fusca?




                Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
Qual a velocidade máxima de um carro de rolemã?




                 Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
O banco está lento!
Problemas comuns. . .




     Proporcionalmente, os problemas de lentidão estão em:
             60% dos problemas são relacionados ao mau uso de
             expressões SQL.
             20% dos problemas são relacionados a má modelagem do
             banco de dados.
             10% dos problemas são relacionados a má configuração
             do SGDB.
             10% dos problemas são relacionados a má configuração
             do Sistema Operacional.




                        Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
O banco está lento!
Equívocos de arquiteturas. . .




              Concentração de regras de negócio na aplicação para
              processos em lote.
              Integridade referencial na aplicação.
              Mal dimensionamento de I/O (CPU, Plataforma, Disco).
              Ambientes virtualizados (Vmware, XEN, etc..) em
              AMD64/EMT64.
              Uso de configurações padrões do SO e/ou do PostgreSQL.




                                 Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
Melhores escolhas
Melhor equipamento. . .




             Servidores dedicados para o PostgreSQL
             Storage com Fiber Channel, iSCSI: Grupos de RAID
             dedicados
             SCSI > SAS > SATA > IDE
             RAID 5 ou 10: por Hardware
             Mais memória! (Até 4GB em 32 bits)
             Processadores de 64 bits: Performance até 3 vezes do
             que os 32 bits (AMD64 e EMT64 - Intel)




                          Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
Melhores escolhas
Melhor Sistema Operacional. . .




             Sistemas Operacionais *nix: Linux (Debian, Gentoo),
             FreeBSD, Solaris, etc
             Em Linux: use Sistemas de arquivos XFS (noatime), Ext3
             (writeback, noatime), EXT2
             Instale a última versão do PostgreSQL (atualmente 8.3) e
             à partir do código-fonte
             Não usar serviços concorrentes (Apache, MySQL,
             SAMBA...) em discos, semáforos e shared memory
             Usar, se possível, um kernel (linux) mais recente (e
             estável)




                                  Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
Ajustes de Performance
Parâmetros do Sistema Operacional. . .




             echo “2” > /proc/sys/vm/overcommit_memory
             echo “25%” > /proc/sys/kernel/shmmax
             echo “25%/64” > /proc/sys/kernel/shmall
             echo “deadline” > /sys/block/sda/queue/scheduler
             echo “250 32000 100 128” > /proc/sys/kernel/sem
             echo “65536” > /proc/sys/fs/file-max
             ethtool -s eth0 speed 1000 duplex full autoneg off
             echo “16777216” > /proc/sys/net/core/rmem_default
             echo “16777216” > /proc/sys/net/core/wmem_default
             echo “16777216” > /proc/sys/net/core/wmem_max
             echo “16777216” > /proc/sys/net/core/rmem_max


                                 Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
Ajustes de Performance
Limites do Sistema Operacional. . .




      no shell
      pmanson:˜# su - postgres
      postgres@pmanson:˜$ ulimit 65535

      /etc/security/limits.conf
      postgres             soft        nofile           4096
      postgres             soft        nproc           4096
      postgres             hard         nofile           63536
      postgres             hard         nproc           63536




                                  Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
Como organizar discos
Melhor I/O. . .




      Discos ou partições distintos para:
                  Logs de transações (WAL)
                  Índices: Ext2
                  Tabelas (particionar tabelas grandes)
                  Tablespace temporário (em ambiente BI)*
                  Archives
                  SO + PostgreSQL
                  Log de Sistema




                             Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
postgresql.conf
Memória. . .




      postgresql.conf
               max_connections: O menor número possível
               shared_buffers: 33% do total -> Para operações em
               execução
               temp_buffers: Acesso às tabelas temporárias
               work_mem: Para agregação, ordenação, consultas
               complexas
               maintenance_work_mem: 75% da maior tabela ou índice
               max_fsm_pages: Máximo de páginas necessárias p/
               mapear espaço livre. Importante para operações de
               UPDATE/DELETE.



                          Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
postgresql.conf
Discos e WAL. . .




      postgresql.conf
              wal_sync_method: open_sync, fdatasync, open_datasync
              wal_buffers: tamanho do cache para gravação do WAL
              commit_delay: Permite efetivar várias transações na
              mesma chamada de fsync
              checkpoint_segments: tamanho do cache em disco para
              operações de escrita
              checkpoint_timeout: intervalo entre os checkpoints
              wal_buffers: 8192kB -> 16GB
              bgwriter: ?????
              join_collapse_limit = > 8



                          Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
O terror dos DBA’s. . .




                    Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
O terror dos DBA’s. . .



   O terror dos DBA’s(Object-Relation Mapping). . .
        Use ORM que permitam expressões SQL.
        Expressões em Object Query Language ainda não usam o
        melhor plano para consultas.
        O mundo ainda não é todo objeto.
        Servidores de Aplicação tem pool de conexão, use-o!

   Você não vê mas as vezes o seu ORM faz. . .
      SELECT * FROM cadastro;
        SELECT * FROM cadastro, venda, produto;




                    Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
Aplicações bem construídas. . .
. . . Mas meu prazo não permite!




    Boas práticas para desenvolvimento de aplicações
         Modele bem o banco de dados prevendo grande
         crescimento da base e acesso concorrente.
         Operações pesadas, execute com Funções/Store
         Procedures direto no PostgreSQL.
         De preferência para o padrão SQL/ISO(2008).
         Considere que um dia a aplicação tenha que usar
         múltiplas instâncias de banco de dados.
         Evite uso de LIKE, ILIKE. Prefira Full Text
         Search(tsearch2)




                       Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
. . . e seu DBA feliz!




                     Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
Ferramentas auxiliares
Tuning SQL. . .




      EXPLAIN ANALYZE
         test_base=# EXPLAIN ANALYZE SELECT foo FROM
         bar;

      Ferramentas gráficas
              Pgfouine
              Pgadmin3
              PhpPgAdmin
              Cedrus




                         Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
Pgfouine - http://pgfouine.projects.postgresql.org




                Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
Pgadmin3 - http://www.pgadmin.org/




                Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
Pgadmin3 - http://www.pgadmin.org/




                Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
PhpPgAdmin - http://phppgadmin.sourceforge.net/




                Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
PhpPgAdmin - http://phppgadmin.sourceforge.net/




                Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
Cedrus - http://sourceforge.net/projects/cedrus




                Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
Cedrus - http://sourceforge.net/projects/cedrus




                Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
Ferramentas auxiliares
Manutenção. . .




      Autovacuum X Vacuum
          Depende do uso (Aplicações Web, OLTI, BI)

      Vacuum
         vacuum_cost_delay: tempo de atraso para vacuum
         executar automaticamente nas tabelas grandes

      Autovacuum (Habilitado por padrão à partir do 8.3)
             autovacuum_naptime: tempo de espera para execução do
             autovacuum.




                       Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
Ferramentas auxiliares
Ferramentas de Stress. . .




              Pgbench: no diretório do contrib do PostgresSQL, padrão
              de transações do tipo TPC-B.
              DBT-2: Ferramenta da OSDL, padrão de transações do
              tipo TPC-C.
              BenchmarkSQL: Ferramenta Java para benchmark em
              SQL para vários banco de dados (JDBC), padrão de
              transações do tipo TPC-C.
              Jmeter: Ferramenta Java genérica para testes de stress,
              usado para aplicações (Web, ...) e também pode ser direto
              para um banco de dados.




                             Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
Quando o tuning não resolve. . .

   Quando o tuning não resolve. . .
   Escalabilidade vertical:
       Mais e melhores discos;
       Mais memória;
       Melhor processador (quad core, 64bits)

   Escalabilidade horizontal:
      Pgpool I (distribuição de carga de leitura e pool de
      conexões)
       PgPool II (PgPool I + paralelização de grandes consultas)
       Slony I (Replicação Multi-Master Assíncrona)
       Bucardo (Replicação Multí-Master Assíncrona)
       Warm Stand By/Log Shipping
       Pgbouncer + PL/Proxy + Slony

                    Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
Links

        Documentação Oficial:
        http://www.postgresql.org/docs/

        Power PostgreSQL:
        http://www.powerpostgresql.com/

        PostgreSQL Brasil:
        http://www.postgresql.org.br/

        Teste de stress com soluções livres e proprietárias:
        http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=7053&pagina=5

        Benchmark Brou-Ha-Ha:
        http://blogs.ittoolbox.com/database/soup/archives/benchmark-brouhaha-17939

        BenchmarkSQL, DBT-2 - SourceForge:
        http://www.sf.net

        Jmeter:
        http://jakarta.apache.org/jmeter/

        Tsung:
        http://tsung.erlang-projects.org/

                        Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
Dúvidas



  Links e Listas de discussão:
      http://archives.postgresql.org/pgsql-performance/

      https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

      http://www.postgresql.org/docs/current/static/performance-tips.html

      http://www.revsys.com/writings/postgresql-performance.html

      http://www.powerpostgresql.com/Docs

      http://wiki.postgresql.org/wiki/Special:Search?search=performance&go=Go



  IRC irc.freenodes.net:
      #postgresql
      #postgresql-br



                      Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
Conclusão




  Contatos:
     fernando.ike@b2br.com.br
      fernando.ike@gmail.com
      http://www.midstorm.org/~fike/weblog

  PGCon Brasil 2008
     http://pgcon.postgresql.org.br




              Fernando Ike de Oliveira   PostgreSQL: O elefante mais rápido que o leopardo
PostgreSQL: Performance Tuning
PostgreSQL: Performance Tuning
PostgreSQL: Performance Tuning
PostgreSQL: Performance Tuning

Weitere ähnliche Inhalte

Was ist angesagt?

Análise de performance usando as estatísticas do PostgreSQL
Análise de performance usando as estatísticas do PostgreSQLAnálise de performance usando as estatísticas do PostgreSQL
Análise de performance usando as estatísticas do PostgreSQLMatheus de Oliveira
 
Escalabilidade horizontal com PostgreSQL e Pgpool II
Escalabilidade horizontal com PostgreSQL e Pgpool IIEscalabilidade horizontal com PostgreSQL e Pgpool II
Escalabilidade horizontal com PostgreSQL e Pgpool IIMatheus Espanhol
 
The Columnar Era: Leveraging Parquet, Arrow and Kudu for High-Performance Ana...
The Columnar Era: Leveraging Parquet, Arrow and Kudu for High-Performance Ana...The Columnar Era: Leveraging Parquet, Arrow and Kudu for High-Performance Ana...
The Columnar Era: Leveraging Parquet, Arrow and Kudu for High-Performance Ana...DataWorks Summit/Hadoop Summit
 
LISA2019 Linux Systems Performance
LISA2019 Linux Systems PerformanceLISA2019 Linux Systems Performance
LISA2019 Linux Systems PerformanceBrendan Gregg
 
A Deep Dive into Query Execution Engine of Spark SQL
A Deep Dive into Query Execution Engine of Spark SQLA Deep Dive into Query Execution Engine of Spark SQL
A Deep Dive into Query Execution Engine of Spark SQLDatabricks
 
Performance Troubleshooting Using Apache Spark Metrics
Performance Troubleshooting Using Apache Spark MetricsPerformance Troubleshooting Using Apache Spark Metrics
Performance Troubleshooting Using Apache Spark MetricsDatabricks
 
Gerenciamento de Backup e Recovery com Barman PGConfBrasil2019
Gerenciamento de Backup e Recovery com Barman PGConfBrasil2019Gerenciamento de Backup e Recovery com Barman PGConfBrasil2019
Gerenciamento de Backup e Recovery com Barman PGConfBrasil2019CLEYSSON LIMA
 
PostgreSQL Deep Internal
PostgreSQL Deep InternalPostgreSQL Deep Internal
PostgreSQL Deep InternalEXEM
 
IBM Spectrum Scale Secure- Secure Data in Motion and Rest
IBM Spectrum Scale Secure- Secure Data in Motion and RestIBM Spectrum Scale Secure- Secure Data in Motion and Rest
IBM Spectrum Scale Secure- Secure Data in Motion and RestSandeep Patil
 
Apache Hadoop and Spark on AWS: Getting started with Amazon EMR - Pop-up Loft...
Apache Hadoop and Spark on AWS: Getting started with Amazon EMR - Pop-up Loft...Apache Hadoop and Spark on AWS: Getting started with Amazon EMR - Pop-up Loft...
Apache Hadoop and Spark on AWS: Getting started with Amazon EMR - Pop-up Loft...Amazon Web Services
 
The basic concept of Linux FIleSystem
The basic concept of Linux FIleSystemThe basic concept of Linux FIleSystem
The basic concept of Linux FIleSystemHungWei Chiu
 
Kernel Recipes 2017: Using Linux perf at Netflix
Kernel Recipes 2017: Using Linux perf at NetflixKernel Recipes 2017: Using Linux perf at Netflix
Kernel Recipes 2017: Using Linux perf at NetflixBrendan Gregg
 
Tuning Apache/MySQL/PHP para desenvolvedores
Tuning Apache/MySQL/PHP para desenvolvedoresTuning Apache/MySQL/PHP para desenvolvedores
Tuning Apache/MySQL/PHP para desenvolvedoresDouglas V. Pasqua
 
Unix system programming
Unix system programmingUnix system programming
Unix system programmingSyed Mustafa
 
Linux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old SecretsLinux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old SecretsBrendan Gregg
 
Linux Systems Performance 2016
Linux Systems Performance 2016Linux Systems Performance 2016
Linux Systems Performance 2016Brendan Gregg
 
Linux Profiling at Netflix
Linux Profiling at NetflixLinux Profiling at Netflix
Linux Profiling at NetflixBrendan Gregg
 
Job Automation using Linux
Job Automation using LinuxJob Automation using Linux
Job Automation using LinuxJishnu Pradeep
 

Was ist angesagt? (20)

eBPF maps 101
eBPF maps 101eBPF maps 101
eBPF maps 101
 
Análise de performance usando as estatísticas do PostgreSQL
Análise de performance usando as estatísticas do PostgreSQLAnálise de performance usando as estatísticas do PostgreSQL
Análise de performance usando as estatísticas do PostgreSQL
 
Escalabilidade horizontal com PostgreSQL e Pgpool II
Escalabilidade horizontal com PostgreSQL e Pgpool IIEscalabilidade horizontal com PostgreSQL e Pgpool II
Escalabilidade horizontal com PostgreSQL e Pgpool II
 
The Columnar Era: Leveraging Parquet, Arrow and Kudu for High-Performance Ana...
The Columnar Era: Leveraging Parquet, Arrow and Kudu for High-Performance Ana...The Columnar Era: Leveraging Parquet, Arrow and Kudu for High-Performance Ana...
The Columnar Era: Leveraging Parquet, Arrow and Kudu for High-Performance Ana...
 
LISA2019 Linux Systems Performance
LISA2019 Linux Systems PerformanceLISA2019 Linux Systems Performance
LISA2019 Linux Systems Performance
 
A Deep Dive into Query Execution Engine of Spark SQL
A Deep Dive into Query Execution Engine of Spark SQLA Deep Dive into Query Execution Engine of Spark SQL
A Deep Dive into Query Execution Engine of Spark SQL
 
Performance Troubleshooting Using Apache Spark Metrics
Performance Troubleshooting Using Apache Spark MetricsPerformance Troubleshooting Using Apache Spark Metrics
Performance Troubleshooting Using Apache Spark Metrics
 
Gerenciamento de Backup e Recovery com Barman PGConfBrasil2019
Gerenciamento de Backup e Recovery com Barman PGConfBrasil2019Gerenciamento de Backup e Recovery com Barman PGConfBrasil2019
Gerenciamento de Backup e Recovery com Barman PGConfBrasil2019
 
What's New in Apache Hive
What's New in Apache HiveWhat's New in Apache Hive
What's New in Apache Hive
 
PostgreSQL Deep Internal
PostgreSQL Deep InternalPostgreSQL Deep Internal
PostgreSQL Deep Internal
 
IBM Spectrum Scale Secure- Secure Data in Motion and Rest
IBM Spectrum Scale Secure- Secure Data in Motion and RestIBM Spectrum Scale Secure- Secure Data in Motion and Rest
IBM Spectrum Scale Secure- Secure Data in Motion and Rest
 
Apache Hadoop and Spark on AWS: Getting started with Amazon EMR - Pop-up Loft...
Apache Hadoop and Spark on AWS: Getting started with Amazon EMR - Pop-up Loft...Apache Hadoop and Spark on AWS: Getting started with Amazon EMR - Pop-up Loft...
Apache Hadoop and Spark on AWS: Getting started with Amazon EMR - Pop-up Loft...
 
The basic concept of Linux FIleSystem
The basic concept of Linux FIleSystemThe basic concept of Linux FIleSystem
The basic concept of Linux FIleSystem
 
Kernel Recipes 2017: Using Linux perf at Netflix
Kernel Recipes 2017: Using Linux perf at NetflixKernel Recipes 2017: Using Linux perf at Netflix
Kernel Recipes 2017: Using Linux perf at Netflix
 
Tuning Apache/MySQL/PHP para desenvolvedores
Tuning Apache/MySQL/PHP para desenvolvedoresTuning Apache/MySQL/PHP para desenvolvedores
Tuning Apache/MySQL/PHP para desenvolvedores
 
Unix system programming
Unix system programmingUnix system programming
Unix system programming
 
Linux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old SecretsLinux Performance Analysis: New Tools and Old Secrets
Linux Performance Analysis: New Tools and Old Secrets
 
Linux Systems Performance 2016
Linux Systems Performance 2016Linux Systems Performance 2016
Linux Systems Performance 2016
 
Linux Profiling at Netflix
Linux Profiling at NetflixLinux Profiling at Netflix
Linux Profiling at Netflix
 
Job Automation using Linux
Job Automation using LinuxJob Automation using Linux
Job Automation using Linux
 

Andere mochten auch (12)

Postgre sql
Postgre sqlPostgre sql
Postgre sql
 
Minicurso PostgreSQl
Minicurso PostgreSQlMinicurso PostgreSQl
Minicurso PostgreSQl
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Novidades da versão 9.0 do PostgreSQL
Novidades da versão 9.0 do PostgreSQLNovidades da versão 9.0 do PostgreSQL
Novidades da versão 9.0 do PostgreSQL
 
Conceitos E Aplicações
Conceitos E AplicaçõesConceitos E Aplicações
Conceitos E Aplicações
 
Postgre S Q L Apresentacao U F C
Postgre S Q L Apresentacao U F CPostgre S Q L Apresentacao U F C
Postgre S Q L Apresentacao U F C
 
Minicurso PostgreSQL
Minicurso PostgreSQLMinicurso PostgreSQL
Minicurso PostgreSQL
 
Postgre Sql
Postgre SqlPostgre Sql
Postgre Sql
 
Introdução ao BD Postgre
Introdução ao BD PostgreIntrodução ao BD Postgre
Introdução ao BD Postgre
 
Por que PostgreSQL?
Por que PostgreSQL?Por que PostgreSQL?
Por que PostgreSQL?
 
PostgreSQL
PostgreSQLPostgreSQL
PostgreSQL
 
Modelos de Banco de dados e SGBDS
Modelos de Banco de dados e SGBDSModelos de Banco de dados e SGBDS
Modelos de Banco de dados e SGBDS
 

Ähnlich wie PostgreSQL: Performance Tuning

PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoFabio Telles Rodriguez
 
TDC2018SP | Trilha Ruby - Sequel+ para ActiveRecord Heavy Users
TDC2018SP | Trilha Ruby - Sequel+ para ActiveRecord Heavy UsersTDC2018SP | Trilha Ruby - Sequel+ para ActiveRecord Heavy Users
TDC2018SP | Trilha Ruby - Sequel+ para ActiveRecord Heavy Userstdc-globalcode
 
Amazon emr cluster hadoop pronto para usar na nuvem aws
Amazon emr   cluster hadoop pronto para usar na nuvem awsAmazon emr   cluster hadoop pronto para usar na nuvem aws
Amazon emr cluster hadoop pronto para usar na nuvem awsAmazon Web Services LATAM
 
Otimização holistica de ambiente computacional
Otimização holistica de ambiente computacionalOtimização holistica de ambiente computacional
Otimização holistica de ambiente computacionalRodrigo Campos
 
Apostila 3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...
Apostila   3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...Apostila   3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...
Apostila 3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...Claudio Santos
 
Apostila 3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...
Apostila   3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...Apostila   3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...
Apostila 3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...claudiovalentim
 
Instalando o MySQL em menos de 10 minutos
Instalando o MySQL em menos de 10 minutosInstalando o MySQL em menos de 10 minutos
Instalando o MySQL em menos de 10 minutosAlexandre Almeida
 
Processadores - CPU
Processadores - CPUProcessadores - CPU
Processadores - CPURoney Sousa
 
ZEO/RelStorage/PostgreSQL
ZEO/RelStorage/PostgreSQLZEO/RelStorage/PostgreSQL
ZEO/RelStorage/PostgreSQLgsroma
 
Sistemas Distribuídos - Computação Paralela
Sistemas Distribuídos - Computação ParalelaSistemas Distribuídos - Computação Paralela
Sistemas Distribuídos - Computação ParalelaAdriano Teixeira de Souza
 
Sistemas Distribuídos - Computação Paralela - Introdução
Sistemas Distribuídos - Computação Paralela - IntroduçãoSistemas Distribuídos - Computação Paralela - Introdução
Sistemas Distribuídos - Computação Paralela - IntroduçãoAdriano Teixeira de Souza
 
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!Intel Software Brasil
 
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!Luciano Palma
 
Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2PrinceGuru MS
 
Primeiros passos com Nerves (Elixir para dispositivos embarcados)
Primeiros passos com Nerves (Elixir para dispositivos embarcados)Primeiros passos com Nerves (Elixir para dispositivos embarcados)
Primeiros passos com Nerves (Elixir para dispositivos embarcados)Donato Vianna
 
Nodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terNodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terEmerson Macedo
 

Ähnlich wie PostgreSQL: Performance Tuning (20)

Performance tuning
Performance tuningPerformance tuning
Performance tuning
 
PostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardoPostgreSQL Tuning: O elefante mais rápido que um leopardo
PostgreSQL Tuning: O elefante mais rápido que um leopardo
 
TDC2018SP | Trilha Ruby - Sequel+ para ActiveRecord Heavy Users
TDC2018SP | Trilha Ruby - Sequel+ para ActiveRecord Heavy UsersTDC2018SP | Trilha Ruby - Sequel+ para ActiveRecord Heavy Users
TDC2018SP | Trilha Ruby - Sequel+ para ActiveRecord Heavy Users
 
De 1 a 1.000.00 de usuários
De 1 a 1.000.00 de usuáriosDe 1 a 1.000.00 de usuários
De 1 a 1.000.00 de usuários
 
Amazon emr cluster hadoop pronto para usar na nuvem aws
Amazon emr   cluster hadoop pronto para usar na nuvem awsAmazon emr   cluster hadoop pronto para usar na nuvem aws
Amazon emr cluster hadoop pronto para usar na nuvem aws
 
Otimização holistica de ambiente computacional
Otimização holistica de ambiente computacionalOtimização holistica de ambiente computacional
Otimização holistica de ambiente computacional
 
Apostila 3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...
Apostila   3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...Apostila   3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...
Apostila 3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...
 
Apostila 3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...
Apostila   3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...Apostila   3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...
Apostila 3000 questoes (testes) resolvidos banco do brasil (bb), cef, ibge,...
 
INFORMÁTICA BÁSICA.
INFORMÁTICA BÁSICA.INFORMÁTICA BÁSICA.
INFORMÁTICA BÁSICA.
 
Instalando o MySQL em menos de 10 minutos
Instalando o MySQL em menos de 10 minutosInstalando o MySQL em menos de 10 minutos
Instalando o MySQL em menos de 10 minutos
 
Processadores - CPU
Processadores - CPUProcessadores - CPU
Processadores - CPU
 
Postgres Tuning
Postgres TuningPostgres Tuning
Postgres Tuning
 
ZEO/RelStorage/PostgreSQL
ZEO/RelStorage/PostgreSQLZEO/RelStorage/PostgreSQL
ZEO/RelStorage/PostgreSQL
 
Sistemas Distribuídos - Computação Paralela
Sistemas Distribuídos - Computação ParalelaSistemas Distribuídos - Computação Paralela
Sistemas Distribuídos - Computação Paralela
 
Sistemas Distribuídos - Computação Paralela - Introdução
Sistemas Distribuídos - Computação Paralela - IntroduçãoSistemas Distribuídos - Computação Paralela - Introdução
Sistemas Distribuídos - Computação Paralela - Introdução
 
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
 
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
FISL14: Como domar uma fera de 1 TFlop que cabe na palma da sua mão!
 
Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2Phpjedi 090307090434-phpapp01 2
Phpjedi 090307090434-phpapp01 2
 
Primeiros passos com Nerves (Elixir para dispositivos embarcados)
Primeiros passos com Nerves (Elixir para dispositivos embarcados)Primeiros passos com Nerves (Elixir para dispositivos embarcados)
Primeiros passos com Nerves (Elixir para dispositivos embarcados)
 
Nodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis terNodejs - A performance que eu sempre quis ter
Nodejs - A performance que eu sempre quis ter
 

Mehr von Fernando Ike

Arquitetura de Micro Serviços
Arquitetura de Micro ServiçosArquitetura de Micro Serviços
Arquitetura de Micro ServiçosFernando Ike
 
(Quase) 10 anos de DevOps, e agora?
(Quase) 10 anos de DevOps, e agora? (Quase) 10 anos de DevOps, e agora?
(Quase) 10 anos de DevOps, e agora? Fernando Ike
 
Containers and Databases
Containers and DatabasesContainers and Databases
Containers and DatabasesFernando Ike
 
Infraestrutura Imutável - Agile Trends
Infraestrutura Imutável - Agile TrendsInfraestrutura Imutável - Agile Trends
Infraestrutura Imutável - Agile TrendsFernando Ike
 
Infraestrutura imutável - A base das aplicações na nuvem
Infraestrutura imutável - A base das aplicações na nuvemInfraestrutura imutável - A base das aplicações na nuvem
Infraestrutura imutável - A base das aplicações na nuvemFernando Ike
 
DevOps Anti-Patterns - Campus Party
DevOps Anti-Patterns - Campus PartyDevOps Anti-Patterns - Campus Party
DevOps Anti-Patterns - Campus PartyFernando Ike
 
Blameless: A culpa não é sua
Blameless: A culpa não é suaBlameless: A culpa não é sua
Blameless: A culpa não é suaFernando Ike
 
DevOps: A revolução ruidosa da TI
DevOps: A revolução ruidosa da TIDevOps: A revolução ruidosa da TI
DevOps: A revolução ruidosa da TIFernando Ike
 
Docker Swarm Cluster
Docker Swarm ClusterDocker Swarm Cluster
Docker Swarm ClusterFernando Ike
 
DevOps - Por onde começar
DevOps - Por onde começarDevOps - Por onde começar
DevOps - Por onde começarFernando Ike
 
DevOps Anti-Patterns
DevOps Anti-PatternsDevOps Anti-Patterns
DevOps Anti-PatternsFernando Ike
 
A lista do PostgerSQL Brasil caiu?
A lista do PostgerSQL Brasil caiu? A lista do PostgerSQL Brasil caiu?
A lista do PostgerSQL Brasil caiu? Fernando Ike
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucaoFernando Ike
 
Akamai Cloud Security
Akamai Cloud SecurityAkamai Cloud Security
Akamai Cloud SecurityFernando Ike
 
Management 3.0 - a vida pós-agilidade
Management 3.0 - a vida pós-agilidadeManagement 3.0 - a vida pós-agilidade
Management 3.0 - a vida pós-agilidadeFernando Ike
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida realFernando Ike
 
Docker e postgresql
Docker e postgresqlDocker e postgresql
Docker e postgresqlFernando Ike
 
Um milhao de usuários simultâneos
Um milhao de usuários simultâneosUm milhao de usuários simultâneos
Um milhao de usuários simultâneosFernando Ike
 
Banco caiu! E a gora?
Banco caiu! E a gora?Banco caiu! E a gora?
Banco caiu! E a gora?Fernando Ike
 

Mehr von Fernando Ike (20)

Arquitetura de Micro Serviços
Arquitetura de Micro ServiçosArquitetura de Micro Serviços
Arquitetura de Micro Serviços
 
(Quase) 10 anos de DevOps, e agora?
(Quase) 10 anos de DevOps, e agora? (Quase) 10 anos de DevOps, e agora?
(Quase) 10 anos de DevOps, e agora?
 
Containers and Databases
Containers and DatabasesContainers and Databases
Containers and Databases
 
Infraestrutura Imutável - Agile Trends
Infraestrutura Imutável - Agile TrendsInfraestrutura Imutável - Agile Trends
Infraestrutura Imutável - Agile Trends
 
Infraestrutura imutável - A base das aplicações na nuvem
Infraestrutura imutável - A base das aplicações na nuvemInfraestrutura imutável - A base das aplicações na nuvem
Infraestrutura imutável - A base das aplicações na nuvem
 
DevOps Anti-Patterns - Campus Party
DevOps Anti-Patterns - Campus PartyDevOps Anti-Patterns - Campus Party
DevOps Anti-Patterns - Campus Party
 
Blameless: A culpa não é sua
Blameless: A culpa não é suaBlameless: A culpa não é sua
Blameless: A culpa não é sua
 
DevOps: A revolução ruidosa da TI
DevOps: A revolução ruidosa da TIDevOps: A revolução ruidosa da TI
DevOps: A revolução ruidosa da TI
 
Docker Swarm Cluster
Docker Swarm ClusterDocker Swarm Cluster
Docker Swarm Cluster
 
DevOps - Por onde começar
DevOps - Por onde começarDevOps - Por onde começar
DevOps - Por onde começar
 
DevOps Anti-Patterns
DevOps Anti-PatternsDevOps Anti-Patterns
DevOps Anti-Patterns
 
A lista do PostgerSQL Brasil caiu?
A lista do PostgerSQL Brasil caiu? A lista do PostgerSQL Brasil caiu?
A lista do PostgerSQL Brasil caiu?
 
Container revolucao
Container revolucaoContainer revolucao
Container revolucao
 
Akamai Cloud Security
Akamai Cloud SecurityAkamai Cloud Security
Akamai Cloud Security
 
Management 3.0 - a vida pós-agilidade
Management 3.0 - a vida pós-agilidadeManagement 3.0 - a vida pós-agilidade
Management 3.0 - a vida pós-agilidade
 
Docker na vida real
Docker na vida realDocker na vida real
Docker na vida real
 
Devops
DevopsDevops
Devops
 
Docker e postgresql
Docker e postgresqlDocker e postgresql
Docker e postgresql
 
Um milhao de usuários simultâneos
Um milhao de usuários simultâneosUm milhao de usuários simultâneos
Um milhao de usuários simultâneos
 
Banco caiu! E a gora?
Banco caiu! E a gora?Banco caiu! E a gora?
Banco caiu! E a gora?
 

PostgreSQL: Performance Tuning

  • 1. Performance Tuning para banco de dados PostgreSQL Fernando Ike de Oliveira B2BR - Grupo TBA Agosto de 2008 / Congresso Internacional Sociedade e Governo Eletrônico 2008 Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo
  • 2. Para não cometer gafes... Como fala/escreve mesmo? Escreve-se PostgreSQL ou postgres Pronúncia-se postígres-és-qüi-uel ou postígres Não se diz/escreve: Postgree, PostrGREE, Postgrí Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo
  • 3. Qual a velocidade máxima de um carro supersônico? Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo
  • 4. Características de um carro supersônico. . . Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo
  • 5. Qual a velocidade máxima de um dragster? Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo
  • 6. Qual a velocidade máxima de um fusca? Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo
  • 7. Qual a velocidade máxima de um carro de rolemã? Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo
  • 8. O banco está lento! Problemas comuns. . . Proporcionalmente, os problemas de lentidão estão em: 60% dos problemas são relacionados ao mau uso de expressões SQL. 20% dos problemas são relacionados a má modelagem do banco de dados. 10% dos problemas são relacionados a má configuração do SGDB. 10% dos problemas são relacionados a má configuração do Sistema Operacional. Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo
  • 9. O banco está lento! Equívocos de arquiteturas. . . Concentração de regras de negócio na aplicação para processos em lote. Integridade referencial na aplicação. Mal dimensionamento de I/O (CPU, Plataforma, Disco). Ambientes virtualizados (Vmware, XEN, etc..) em AMD64/EMT64. Uso de configurações padrões do SO e/ou do PostgreSQL. Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo
  • 10. Melhores escolhas Melhor equipamento. . . Servidores dedicados para o PostgreSQL Storage com Fiber Channel, iSCSI: Grupos de RAID dedicados SCSI > SAS > SATA > IDE RAID 5 ou 10: por Hardware Mais memória! (Até 4GB em 32 bits) Processadores de 64 bits: Performance até 3 vezes do que os 32 bits (AMD64 e EMT64 - Intel) Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo
  • 11. Melhores escolhas Melhor Sistema Operacional. . . Sistemas Operacionais *nix: Linux (Debian, Gentoo), FreeBSD, Solaris, etc Em Linux: use Sistemas de arquivos XFS (noatime), Ext3 (writeback, noatime), EXT2 Instale a última versão do PostgreSQL (atualmente 8.3) e à partir do código-fonte Não usar serviços concorrentes (Apache, MySQL, SAMBA...) em discos, semáforos e shared memory Usar, se possível, um kernel (linux) mais recente (e estável) Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo
  • 12. Ajustes de Performance Parâmetros do Sistema Operacional. . . echo “2” > /proc/sys/vm/overcommit_memory echo “25%” > /proc/sys/kernel/shmmax echo “25%/64” > /proc/sys/kernel/shmall echo “deadline” > /sys/block/sda/queue/scheduler echo “250 32000 100 128” > /proc/sys/kernel/sem echo “65536” > /proc/sys/fs/file-max ethtool -s eth0 speed 1000 duplex full autoneg off echo “16777216” > /proc/sys/net/core/rmem_default echo “16777216” > /proc/sys/net/core/wmem_default echo “16777216” > /proc/sys/net/core/wmem_max echo “16777216” > /proc/sys/net/core/rmem_max Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo
  • 13. Ajustes de Performance Limites do Sistema Operacional. . . no shell pmanson:˜# su - postgres postgres@pmanson:˜$ ulimit 65535 /etc/security/limits.conf postgres soft nofile 4096 postgres soft nproc 4096 postgres hard nofile 63536 postgres hard nproc 63536 Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo
  • 14. Como organizar discos Melhor I/O. . . Discos ou partições distintos para: Logs de transações (WAL) Índices: Ext2 Tabelas (particionar tabelas grandes) Tablespace temporário (em ambiente BI)* Archives SO + PostgreSQL Log de Sistema Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo
  • 15. postgresql.conf Memória. . . postgresql.conf max_connections: O menor número possível shared_buffers: 33% do total -> Para operações em execução temp_buffers: Acesso às tabelas temporárias work_mem: Para agregação, ordenação, consultas complexas maintenance_work_mem: 75% da maior tabela ou índice max_fsm_pages: Máximo de páginas necessárias p/ mapear espaço livre. Importante para operações de UPDATE/DELETE. Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo
  • 16. postgresql.conf Discos e WAL. . . postgresql.conf wal_sync_method: open_sync, fdatasync, open_datasync wal_buffers: tamanho do cache para gravação do WAL commit_delay: Permite efetivar várias transações na mesma chamada de fsync checkpoint_segments: tamanho do cache em disco para operações de escrita checkpoint_timeout: intervalo entre os checkpoints wal_buffers: 8192kB -> 16GB bgwriter: ????? join_collapse_limit = > 8 Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo
  • 17. O terror dos DBA’s. . . Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo
  • 18. O terror dos DBA’s. . . O terror dos DBA’s(Object-Relation Mapping). . . Use ORM que permitam expressões SQL. Expressões em Object Query Language ainda não usam o melhor plano para consultas. O mundo ainda não é todo objeto. Servidores de Aplicação tem pool de conexão, use-o! Você não vê mas as vezes o seu ORM faz. . . SELECT * FROM cadastro; SELECT * FROM cadastro, venda, produto; Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo
  • 19. Aplicações bem construídas. . . . . . Mas meu prazo não permite! Boas práticas para desenvolvimento de aplicações Modele bem o banco de dados prevendo grande crescimento da base e acesso concorrente. Operações pesadas, execute com Funções/Store Procedures direto no PostgreSQL. De preferência para o padrão SQL/ISO(2008). Considere que um dia a aplicação tenha que usar múltiplas instâncias de banco de dados. Evite uso de LIKE, ILIKE. Prefira Full Text Search(tsearch2) Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo
  • 20. . . . e seu DBA feliz! Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo
  • 21. Ferramentas auxiliares Tuning SQL. . . EXPLAIN ANALYZE test_base=# EXPLAIN ANALYZE SELECT foo FROM bar; Ferramentas gráficas Pgfouine Pgadmin3 PhpPgAdmin Cedrus Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo
  • 22. Pgfouine - http://pgfouine.projects.postgresql.org Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo
  • 23. Pgadmin3 - http://www.pgadmin.org/ Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo
  • 24. Pgadmin3 - http://www.pgadmin.org/ Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo
  • 25. PhpPgAdmin - http://phppgadmin.sourceforge.net/ Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo
  • 26. PhpPgAdmin - http://phppgadmin.sourceforge.net/ Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo
  • 27. Cedrus - http://sourceforge.net/projects/cedrus Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo
  • 28. Cedrus - http://sourceforge.net/projects/cedrus Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo
  • 29. Ferramentas auxiliares Manutenção. . . Autovacuum X Vacuum Depende do uso (Aplicações Web, OLTI, BI) Vacuum vacuum_cost_delay: tempo de atraso para vacuum executar automaticamente nas tabelas grandes Autovacuum (Habilitado por padrão à partir do 8.3) autovacuum_naptime: tempo de espera para execução do autovacuum. Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo
  • 30. Ferramentas auxiliares Ferramentas de Stress. . . Pgbench: no diretório do contrib do PostgresSQL, padrão de transações do tipo TPC-B. DBT-2: Ferramenta da OSDL, padrão de transações do tipo TPC-C. BenchmarkSQL: Ferramenta Java para benchmark em SQL para vários banco de dados (JDBC), padrão de transações do tipo TPC-C. Jmeter: Ferramenta Java genérica para testes de stress, usado para aplicações (Web, ...) e também pode ser direto para um banco de dados. Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo
  • 31. Quando o tuning não resolve. . . Quando o tuning não resolve. . . Escalabilidade vertical: Mais e melhores discos; Mais memória; Melhor processador (quad core, 64bits) Escalabilidade horizontal: Pgpool I (distribuição de carga de leitura e pool de conexões) PgPool II (PgPool I + paralelização de grandes consultas) Slony I (Replicação Multi-Master Assíncrona) Bucardo (Replicação Multí-Master Assíncrona) Warm Stand By/Log Shipping Pgbouncer + PL/Proxy + Slony Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo
  • 32. Links Documentação Oficial: http://www.postgresql.org/docs/ Power PostgreSQL: http://www.powerpostgresql.com/ PostgreSQL Brasil: http://www.postgresql.org.br/ Teste de stress com soluções livres e proprietárias: http://www.vivaolinux.com.br/artigos/verArtigo.php?codigo=7053&pagina=5 Benchmark Brou-Ha-Ha: http://blogs.ittoolbox.com/database/soup/archives/benchmark-brouhaha-17939 BenchmarkSQL, DBT-2 - SourceForge: http://www.sf.net Jmeter: http://jakarta.apache.org/jmeter/ Tsung: http://tsung.erlang-projects.org/ Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo
  • 33. Dúvidas Links e Listas de discussão: http://archives.postgresql.org/pgsql-performance/ https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral http://www.postgresql.org/docs/current/static/performance-tips.html http://www.revsys.com/writings/postgresql-performance.html http://www.powerpostgresql.com/Docs http://wiki.postgresql.org/wiki/Special:Search?search=performance&go=Go IRC irc.freenodes.net: #postgresql #postgresql-br Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo
  • 34. Conclusão Contatos: fernando.ike@b2br.com.br fernando.ike@gmail.com http://www.midstorm.org/~fike/weblog PGCon Brasil 2008 http://pgcon.postgresql.org.br Fernando Ike de Oliveira PostgreSQL: O elefante mais rápido que o leopardo