SlideShare uma empresa Scribd logo
Tunning PostgreSQL em modo
OGRO
Quem está aqui??
Gerdan Rezende dos Santos

Líder Técnico e Consultor em Banco de Dados e na Tecnisys
Tecnologias inovadoras

Graduado em Ciências da Computação pela Universidade Paulista

Pós-graduado em Sistemas de Informação e Aplicações WEB

Pós-graduado em Sistemas de Informação Orientação a Objetos

MCT em SQLServer e .NET

Ativo nas comunidades PostgreSQL nacional e internacional,
colaborador principalmente nos testes de novas funcionalidades.

Já trabalhou em grandes Data Centers, como: MEC/Fies, MJ/PRF,
MME/DNPM, MCTI, Cluster Ativo x Ativo Armazém Paraíba,
TRT/PJe,
TECNISYS
➢
Atuando como provedora de
soluções tecnológicas a mais
de 25 anos. Somos referência
nacional em tecnologia
Open Source.
➢
Temos parcerias de sucesso
firmadas com empresas de
renome mundial,
fornecendo suporte técnico,
consultoria, treinamentos
oficiais e certificações
SEGMENTOS DE ATUAÇÃO
O QUE VEREMOS?
SEGURANÇA
CUSTO
DESEMPENHO
NÃO É
ONDE COMEÇA O PROBLEMA
CRUD
E QUAL A RELAÇÃO ?
FONTE: STORAGE TECNOLOGY – PRICE, PERFORMANDO & CAPACITY SUN
LOG TRANSACIONAL - WAL
Após um COMMIT um registro de WAL é gerado;
Após um checkpoint os DATAFILES são atualizados;
Se houver problemas o PostgreSQL vai recorrer ao
WAL(restart, falhas, rollback);
Onde está o problema mesmo ?
50% estão em SQL mal escrito;
25% estão em modelagem de dados mal feita;
15% estão em ajustes errôneos do SGBD;
5% estão em ajustes ruins do S.O.; e
5% estão em hardware mal dimensionado
Onde??? Hardware
✔ Servidor dedicado;
✔ Disco dedicados;
✔ Você vai definir o ambiente? Ótimo… Discos,
memória e processador;
✔ SSD SLC > SSD MLC > Fiber Channel > SAS >
jogue os SATA FORA;
✔ RAID 10> RAID 1 > RAID 6 > RAID 5
✔ Processadores? Quantos mais cache e memória
melhor...
Onde??? S.O.
✔ O melhor é aquele que você tem domínio
✔ É obrigatório utilizar no mínimo arquitetura 64bits
✔ RAID por software NÃO EkxisISTE - Pe. Kevedo
✔ Se possível descarte abstração de
particionamento por software “LVM”
✔ Remova qualquer serviço que não for necessário:
Bluetooth, Apache, Int. Gráfica, etc…
✔ Aprenda muito, mas muito mesmo Linux – Ref.
item 01
Onde??? Discos
✔ / Pergunte ao SysAdmin senão ext4 nele
✔ /boot Pergunte ao SysAdmin senão ext4 nele
✔ PGDATA (RAID 10 OU 1 + XFS OU EXT4 + noatime)
✔ pg_xlog (ext3 + noatime + writeback)
✔ Tablespaces com dados históricos (RAID 5 com
XFS ou EXT4 + noatime)
✔ BACKUP E ARCHIVES (Lembra dos SATA, pegue
eles de volta do lixo)
Ajustes no S.O.
✔ Aprender o Linux
✔ Sysctl.conf
✔ Semáforos;
✔ kernel.shmmax (½ da RAM disponível);
✔ file-max;
✔ overcommit;
✔ Limits.conf
✔ nofile;
✔ nproc;
✔ fstab
✔ Noatime para o banco
✔ +Writeback para o pg_xlog;
Ajustes no PostgreSQL
✔ max_connections: menor número possível;
✔ shared_buffers: 8GB ou ¼ da RAM disponível;
✔ maintenance_work_mem: a maior tabela do seu
catalogo, senão grande o suficiente para ser maior
que 75% das tabelas;
✔ checkpoint_segments: entre 16 e 128;
✔ checkpoint_timeout: entre 10min e 30min;
✔ Se possível utilize um pool de conexões: PgBouncer;
✔ Sempre monitore e ajuste apenas 1 item por vez;
Ajustes no PostgreSQL
✔ max_connections: menor número possível;
✔ shared_buffers: 8GB ou ¼ da RAM disponível;
✔ maintenance_work_mem: a maior tabela do seu catalogo, senão
grande o suficiente para ser maior que 75% das tabelas;
✔ checkpoint_segments: entre 16 e 128;
✔ checkpoint_timeout: entre 10min e 30min;
✔ Jamais desligue o autovacuum
✔ Se possível utilize um pool de conexões: PgBouncer;
✔ Sempre monitore e ajuste apenas 1 item por vez;
Ajustes no Modelo de Dados
✔ Use o tipo de dados certo para cada coisa;
✔ PK? procure usar naturais, CPF não é chave
natural ;)
✔ Tabela genérica, campo flex – Se existir remova e
nem pergunte quem criou… Seja mau.
✔ Monitore todos objetos – Você é obrigado a
conhecer o que onera seu banco
✔ ESTRUTURAS DE DADOS FICAM NA APLICAÇÃO
(PILHAS E FILAS)
PostgreS
Ajuste na Linguagem
✔ Aprenda Linux… Só pra não esquecer ;)
✔ Se o SQL resolve… Então basta
✔ Procure controlar o tamanho de suas transações
✔ Monitore todos objetos – Você é obrigado a
conhecer o que onera seu banco e como onera
✔ Para relatórios, faça o possível para utilizar views
materializadas
✔ INSERT < INSERT múltiplo < Prepared Trans ??? <
copy < insert .. select
PostgreS
Considerações Finais
Considerações Finais
Considerações Finais
Perguntas ??
Parceiros
Telefones: (61) 3039-9700 / FAX: (61) 3039-9701
E-mail: comercial@tecnisys.com.br
Visite nosso site http://www.tecnisys.com.br
Contato
Obrigado!
www.linkedin.com/in/gerdan

Mais conteúdo relacionado

PDF
Alta Concorrência com Postgres
PDF
Postgres Tuning
PDF
Postgres Big data
PPTX
Segurança em Rails
PDF
Trabalhando com Logs no PostgreSQL
PDF
Trabalhando com Logs no PostgreSQL
PDF
PostgreSQL Rock Star
PDF
Aumente a performance de seu site de maneira disciplinada
Alta Concorrência com Postgres
Postgres Tuning
Postgres Big data
Segurança em Rails
Trabalhando com Logs no PostgreSQL
Trabalhando com Logs no PostgreSQL
PostgreSQL Rock Star
Aumente a performance de seu site de maneira disciplinada

Mais procurados (14)

PDF
Tuning Apache/MySQL/PHP para desenvolvedores
PDF
Palestra - Meetup WordPress Brasília 2014 - WordPress vs Hacker
PDF
Open ldap criando e explorando um overlay
PDF
OpenLDAP, criando e explorando um overlay
PPT
A Arte do Deployment - WebDevCamp
DOCX
Limitação de banda para p2 p mikrotik v5 e v6
PPTX
Receitas XE
ODP
PostgreSQL Tuning: O elefante mais rápido que um leopardo
ODP
Minicurso EPOTI: Automação de Infraestrutura com PUPPET.
PDF
Deixando aplicações Laravel mais rápidas
PDF
Administradores e suas gambiarras
ODP
Tunando sua aplicação LNMP
PDF
Drupal + Rex
PPTX
1º Meetup Zabbix Meetup do Recife: Matheus Cabral - Monitoramento de Data Cen...
Tuning Apache/MySQL/PHP para desenvolvedores
Palestra - Meetup WordPress Brasília 2014 - WordPress vs Hacker
Open ldap criando e explorando um overlay
OpenLDAP, criando e explorando um overlay
A Arte do Deployment - WebDevCamp
Limitação de banda para p2 p mikrotik v5 e v6
Receitas XE
PostgreSQL Tuning: O elefante mais rápido que um leopardo
Minicurso EPOTI: Automação de Infraestrutura com PUPPET.
Deixando aplicações Laravel mais rápidas
Administradores e suas gambiarras
Tunando sua aplicação LNMP
Drupal + Rex
1º Meetup Zabbix Meetup do Recife: Matheus Cabral - Monitoramento de Data Cen...
Anúncio

Semelhante a Tunning PostgreSQL em modo OGRO - 13º Latinoware (20)

PDF
Segurança em servidores Linux
PDF
Treinamento hadoop - dia3
PDF
Seguranca em Servidores Linux
PDF
Segurança em servidores Linux
PDF
Design Patterns para Tuning Pentaho com Ctools
PDF
DNAD 2015 - Como a arquitetura emergente de sua aplicação pode jogar contra ...
PDF
PGConf2019 - JIT ONE MORE TIME
PPTX
Dev Parana - Praticas Devops aplicadas a Big Data
PDF
Bancos de dados analíticos open source
PPTX
BIG DATA na UFSM
PPT
TechEd_OFC305
PDF
FreeBsd com Alta Disponibilidade
PPTX
Forefront TMG - Planejando corretamente
ODP
Fortalecendo seus Servidores em Linux(Hardening) - Minimizando os ataques - S...
PDF
Day 0 iniciando na carreira em ti
PPTX
Mulesoft Meetup Latam Summit Brazil
PDF
Projeto TCOS - III ENSOL
PPT
Organizando a casa. o front end do jeitinho que a mamãe gosta
PDF
De 1 a 1.000.00 de usuários
Segurança em servidores Linux
Treinamento hadoop - dia3
Seguranca em Servidores Linux
Segurança em servidores Linux
Design Patterns para Tuning Pentaho com Ctools
DNAD 2015 - Como a arquitetura emergente de sua aplicação pode jogar contra ...
PGConf2019 - JIT ONE MORE TIME
Dev Parana - Praticas Devops aplicadas a Big Data
Bancos de dados analíticos open source
BIG DATA na UFSM
TechEd_OFC305
FreeBsd com Alta Disponibilidade
Forefront TMG - Planejando corretamente
Fortalecendo seus Servidores em Linux(Hardening) - Minimizando os ataques - S...
Day 0 iniciando na carreira em ti
Mulesoft Meetup Latam Summit Brazil
Projeto TCOS - III ENSOL
Organizando a casa. o front end do jeitinho que a mamãe gosta
De 1 a 1.000.00 de usuários
Anúncio

Último (11)

PPTX
Arquitetura de computadores - Memórias Secundárias
PDF
Manejo integrado de pragas na cultura do algodão
PPTX
Viasol Energia Solar -Soluções para geração e economia de energia
PDF
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
PDF
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
PPTX
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
PPTX
Eng. Software - pontos essenciais para o início
PPTX
Utilizando code blockes por andre backes
PPTX
Tipos de servidor em redes de computador.pptx
PPTX
Design - Introdução a Gestalt e teoria das formas
PPTX
Proposta de Implementação de uma Rede de Computador Cabeada.pptx
Arquitetura de computadores - Memórias Secundárias
Manejo integrado de pragas na cultura do algodão
Viasol Energia Solar -Soluções para geração e economia de energia
eBook - GUIA DE CONSULTA RAPIDA EM ROTEADORES E SWITCHES CISCO - VOL I.pdf
Termos utilizados na designação de relação entre pessoa e uma obra.pdf
Informática Aplicada Informática Aplicada Plano de Ensino - estudo de caso NR...
Eng. Software - pontos essenciais para o início
Utilizando code blockes por andre backes
Tipos de servidor em redes de computador.pptx
Design - Introdução a Gestalt e teoria das formas
Proposta de Implementação de uma Rede de Computador Cabeada.pptx

Tunning PostgreSQL em modo OGRO - 13º Latinoware

  • 2. Quem está aqui?? Gerdan Rezende dos Santos  Líder Técnico e Consultor em Banco de Dados e na Tecnisys Tecnologias inovadoras  Graduado em Ciências da Computação pela Universidade Paulista  Pós-graduado em Sistemas de Informação e Aplicações WEB  Pós-graduado em Sistemas de Informação Orientação a Objetos  MCT em SQLServer e .NET  Ativo nas comunidades PostgreSQL nacional e internacional, colaborador principalmente nos testes de novas funcionalidades.  Já trabalhou em grandes Data Centers, como: MEC/Fies, MJ/PRF, MME/DNPM, MCTI, Cluster Ativo x Ativo Armazém Paraíba, TRT/PJe,
  • 3. TECNISYS ➢ Atuando como provedora de soluções tecnológicas a mais de 25 anos. Somos referência nacional em tecnologia Open Source. ➢ Temos parcerias de sucesso firmadas com empresas de renome mundial, fornecendo suporte técnico, consultoria, treinamentos oficiais e certificações
  • 7. ONDE COMEÇA O PROBLEMA CRUD
  • 8. E QUAL A RELAÇÃO ? FONTE: STORAGE TECNOLOGY – PRICE, PERFORMANDO & CAPACITY SUN
  • 9. LOG TRANSACIONAL - WAL Após um COMMIT um registro de WAL é gerado; Após um checkpoint os DATAFILES são atualizados; Se houver problemas o PostgreSQL vai recorrer ao WAL(restart, falhas, rollback);
  • 10. Onde está o problema mesmo ? 50% estão em SQL mal escrito; 25% estão em modelagem de dados mal feita; 15% estão em ajustes errôneos do SGBD; 5% estão em ajustes ruins do S.O.; e 5% estão em hardware mal dimensionado
  • 11. Onde??? Hardware ✔ Servidor dedicado; ✔ Disco dedicados; ✔ Você vai definir o ambiente? Ótimo… Discos, memória e processador; ✔ SSD SLC > SSD MLC > Fiber Channel > SAS > jogue os SATA FORA; ✔ RAID 10> RAID 1 > RAID 6 > RAID 5 ✔ Processadores? Quantos mais cache e memória melhor...
  • 12. Onde??? S.O. ✔ O melhor é aquele que você tem domínio ✔ É obrigatório utilizar no mínimo arquitetura 64bits ✔ RAID por software NÃO EkxisISTE - Pe. Kevedo ✔ Se possível descarte abstração de particionamento por software “LVM” ✔ Remova qualquer serviço que não for necessário: Bluetooth, Apache, Int. Gráfica, etc… ✔ Aprenda muito, mas muito mesmo Linux – Ref. item 01
  • 13. Onde??? Discos ✔ / Pergunte ao SysAdmin senão ext4 nele ✔ /boot Pergunte ao SysAdmin senão ext4 nele ✔ PGDATA (RAID 10 OU 1 + XFS OU EXT4 + noatime) ✔ pg_xlog (ext3 + noatime + writeback) ✔ Tablespaces com dados históricos (RAID 5 com XFS ou EXT4 + noatime) ✔ BACKUP E ARCHIVES (Lembra dos SATA, pegue eles de volta do lixo)
  • 14. Ajustes no S.O. ✔ Aprender o Linux ✔ Sysctl.conf ✔ Semáforos; ✔ kernel.shmmax (½ da RAM disponível); ✔ file-max; ✔ overcommit; ✔ Limits.conf ✔ nofile; ✔ nproc; ✔ fstab ✔ Noatime para o banco ✔ +Writeback para o pg_xlog;
  • 15. Ajustes no PostgreSQL ✔ max_connections: menor número possível; ✔ shared_buffers: 8GB ou ¼ da RAM disponível; ✔ maintenance_work_mem: a maior tabela do seu catalogo, senão grande o suficiente para ser maior que 75% das tabelas; ✔ checkpoint_segments: entre 16 e 128; ✔ checkpoint_timeout: entre 10min e 30min; ✔ Se possível utilize um pool de conexões: PgBouncer; ✔ Sempre monitore e ajuste apenas 1 item por vez;
  • 16. Ajustes no PostgreSQL ✔ max_connections: menor número possível; ✔ shared_buffers: 8GB ou ¼ da RAM disponível; ✔ maintenance_work_mem: a maior tabela do seu catalogo, senão grande o suficiente para ser maior que 75% das tabelas; ✔ checkpoint_segments: entre 16 e 128; ✔ checkpoint_timeout: entre 10min e 30min; ✔ Jamais desligue o autovacuum ✔ Se possível utilize um pool de conexões: PgBouncer; ✔ Sempre monitore e ajuste apenas 1 item por vez;
  • 17. Ajustes no Modelo de Dados ✔ Use o tipo de dados certo para cada coisa; ✔ PK? procure usar naturais, CPF não é chave natural ;) ✔ Tabela genérica, campo flex – Se existir remova e nem pergunte quem criou… Seja mau. ✔ Monitore todos objetos – Você é obrigado a conhecer o que onera seu banco ✔ ESTRUTURAS DE DADOS FICAM NA APLICAÇÃO (PILHAS E FILAS) PostgreS
  • 18. Ajuste na Linguagem ✔ Aprenda Linux… Só pra não esquecer ;) ✔ Se o SQL resolve… Então basta ✔ Procure controlar o tamanho de suas transações ✔ Monitore todos objetos – Você é obrigado a conhecer o que onera seu banco e como onera ✔ Para relatórios, faça o possível para utilizar views materializadas ✔ INSERT < INSERT múltiplo < Prepared Trans ??? < copy < insert .. select PostgreS
  • 24. Telefones: (61) 3039-9700 / FAX: (61) 3039-9701 E-mail: comercial@tecnisys.com.br Visite nosso site http://www.tecnisys.com.br Contato