SlideShare uma empresa Scribd logo
1 de 23
Banco de Dados
Equipe: Carlos Jorge Ribeiro
Felipe Caiuby
James Moreira
Professora: Celinia Cantalice
ESTUDO DE CASOS EM FERRAMENTAS QUE
UTILIZAM TUNING
Tuning
• Tuning diz respeito ao ajuste do SGBD para melhor
utilização dos recursos deste, provendo um uso eficaz e
eficiente do SGBD.
• Tuning requer conhecimento de:
– Desenvolvimento de Aplicações
– SGBD
– Sistema operacional
– Hardware
Portanto, é necessário monitorar e revisar o projeto físico de banco de dados
constantemente. Os objetivos da sintonia (ou tuning) são os seguintes: I. fazer com
que as aplicações sejam executadas mais rapidamente, II. diminuir o tempo de
resposta de consultas/transações e III. melhorar o desempenho geral das
transações.
Tuning
• Em Tuning, comumente serão utilizadas informações de
estatísticas de uso de HW:
– Utilização do processador
– Atividade de I/O
– Paginação
– Memória utilizada
– ...
Tuning
Critérios Adotados
De uma forma simplificada, existem alguns critérios principais
que podem ser adotados para identificar as consultas que devem
ser modificadas, são eles:
• monitorar as sessões ativas que estão sendo executadas no
banco de dados;
• separar as consultas que estão com execuções demoradas, •
dividi-las em grupos, como: prioridade, freqüência de execução e
fraco desempenho;
• implementar os ajustes reescrevendo as consultas que estão
com fraco desempenho. Cada banco de dados fornece suas
ferramentas específicas para capturar as consultas citadas nos
itens acima, porém a maneira mais eficiente e explícita é o
próprio uso feito pelo usuário final.
Tuning
Particionar Gargalos
– O sistema fica lento geralmente porquê há
algum(uns) componentes limitando a performance
como um todo. Agir nesta parte é o correto.
– Particionar permite reduzir a carga de um certo
componente do sistema.
– Lição: quando encontrar um gargalo, primeiro tente
agilizar o componente que causa o gargalo, se não
conseguir sucesso particione.
Tuning
Custos de inicialização são altos, custos de
execução são baixos
– Uma operação de leitura é cara para iniciar, mas
menos cara enquanto se lê. Portanto, tente fazer
leituras mais longas, colocando tabelas que sofrem
scan constantemente serem armazenadas de forma
contígua
– O mesmo raciocínio vale para abertura de conexões
com o SGBD, parsing de consultas muito usadas,
envio de mensagens na rede (tamanho das
mensagens)
Tuning
Coloque no servidor apenas o que diz respeito ao
servidor
– Saber fazer o load-balancing, permitindo não
sobrecarregar o servidor de banco de dados com
tarefas que poderiam estar em outras camadas.
Tuning
Esteja preparado para trade-offs
– Adição de índices
– Verificar as vantagens/desvantagens entre a compra
de mais recursos versus a agilidade que se irá obter
destas aquisições.
Tuning
Cinco fatores influem na performance:
– Workload (carga)
– Throughput (Vazão)
– Recursos
– Otimização
– Contenção
Tuning
• Workload
– Define a demanda do BD. Combina transações
online, batch jobs, consultas ad hoc, data
warehousing, consultas analíticas, e comandos
dirigidos ao SGBD
– Pode variar drasticamente de dia para dia, hora para
hora, minuto para minuto, segundo para segundo.
– Algumas vezes é previsível (Rodar a folha de
pagamento no final do mês), mas muitas vezes é
imprevisível
– Workload tem grande impacto na performance do
SGBD
Tuning
• Throughput
– Define a capacidade do hardware/software para
processar os dados
– É composto de velocidade de I/O, velocidade de
CPU, capacidades de paralelismo, e eficiência do
SO.
– Kernel do DB, espaço em disco, controladores de
cache, e microcode são exemplos dos recursos a
serem avaliados para computar throughput
Tuning
• Otimização
– Refere-se à análise das solicitações ao BD com
custo de query que geram diferentes planos de
acesso aos dados.
• Contenção
– Quando a demanda (workload) para uma recurso
particular é alta então contenção acontece.
– É a condição na qual dois ou mais componentes de
workload estão tentando usar um recurso em modo
conflitante.
– À medida que a contenção aumenta, o throughput
diminui.
Tuning
Padrões e Otimizações
Serão apresentados nesta seção os testes que serviram como base
para medir o desempenho do SGBD PostgreSQL em relação ao SGBD
MySQL, bem como um comparativo de seus desempenhos em
diferentes sistemas operacionais e sistemas de arquivos. A partir destes
comparativos foram desenvolvidas configurações de otimização para o
SGBD PostgreSQL e realizadas novas medições de desempenho com o
objetivo de demonstrar que o processo de otimização pode gerar
algumas melhorias significativas quando realizado corretamente.
Tuning
Tabela 1: Sistemas operacionais utilizados
Sistema Operacional Sistema de Arquivos
Windows XP Home SP2 NFTS
Linux Kernel 2.6.18 ReiserFS
Linux Kernel 2.6.18 Ext3
Partindo do objetivo de gerar testes de desempenho confiáveis e certificados,
foi escolhido o método TPC-C, a partir deste método foi desenvolvido um
conjunto de testes para serem executados nos diferentes sistemas
operacionais e sistemas de arquivos abordados no projeto. Primeiramente
foram configurados três sistemas operacionais distintos e estes sistemas estão
especificados na Tabela 1.
Tuning
Padrões e Otimizações
TPC-C (Transaction Processing Perfomance council) simula um ambiente de
computação completo, onde uma população de usuários
executa as transações contra um banco de dados. Nele são
avaliados quesitos como:
• A execução simultânea de vários tipos de transações
que abrangem uma amplitude de complexidade;
• Várias sessões de terminais on-line;
• Integridade da transação (propriedades ACID);
• Distribuição não uniforme de acesso a dados por meio
de chaves primárias e secundárias.
Tuning
Padrões e Otimizações
Como conjunto de testes para utilização do método TPC-C no software
BenchmarkSQL adotou-se as três configurações para transações
demonstradas na Tabela 2.
Tabela 2: Conjunto de testes para o método TPC-C e tamanho aproximado da
base de dados resultante
Nº de WareHouses Nº de Terminais Tamanho Decorrente
1 10 300MB
10 10 1GB
10 100 1GB
Tuning
Padrões e Otimizações
Resultados Obtidos Seguindo o conjunto de testes especificado, foi utilizado o
software BenchmarkSQL nos sistemas citados anteriormente, utilizando a
configuração padrão dos SGBDs PostgreSQL e MySQL. Os resultados destes
testes serão demonstrados a seguir.
Tabela 3: Resultados obtidos com as configurações padrão para execução de
1 warehouses e 10 terminais
WeareHouse 1 - Terminais 10
Sistema Operacional Configuração Nº Transação Média TPm Duração (min)
Windows - NTFS
PostgreSQL 13078 577,4698178 10
MySQL 19546 887,6759983 10
Linux - ReiserFS
PostgreSQL 21961 993,6732044 10
MySQL 17846 796,1059276 10
Linux - Ext3
PostgreSQL 11744 536,5409173 10
MySQL 14957 673,0266379 10
Tuning
Padrões e Otimizações
Pode-se constatar que o SGBD MySQL obteve um desempenho
superior ao SGBD PostgreSQL, em duas situações. Estas foram
utilizando o sistema operacional Windows com NTFS, e no sistema
operacional Linux utilizando Ext3, para o teste de 10 terminais e 1
warehouse que utiliza uma base de dados de aproximadamente
300MB de espaço em disco. No sistema operacional Linux utilizando
ReiserFS foi constatado que o SGBD PostgreSQL apresenta um bom
desempenho em sua configuração padrão em comparação com o
SGBD MySQL, para este teste que apresenta um número não muito
grande de conexões concorrentes.
Tuning
Padrões e Otimizações
Tabela 4: Resultados obtidos com as configurações padrão para
execução de 10 warehouses e 10 terminais
WeareHouse 10 - Terminais 10
Sistema Operacional Configuração Nº Transação Média TPm Duração (min)
Windows - NTFS
PostgreSQL 7413 330,4362277 10
MySQL 13416 593,6841333 10
Linux - ReiserFS
PostgreSQL 10649 476,1026567 10
MySQL 13187 595,8599724 10
Linux - Ext3
PostgreSQL 6547 294,8913817 10
MySQL 11154 361,796517 10
Tuning
Padrões e Otimizações
Constatou-se que conforme são aumentados os números de conexões
concorrentes o SGBD PostgreSQL apresenta uma queda de
desempenho inclusive no sistema operacional Linux utilizando
ReiserFS, isto devesse ao fato de que a configuração padrão do
SGBD PostgreSQL não é otimizada para ambientes OLTP (OnLine
Transaction Processing), que possuem grande número de conexões
concorrentes e consultas simples. Desta forma constatou-se a
necessidade de otimizar o SGBD PostgreSQL a fim de melhorar o seu
desempenho neste tipo de ambiente.
Tuning
• Conclusao
– Performance de BD pode ser definida como a otimização
de uso de recursos para aumentar a throughput e minimizar
a contenção, possibilitando o maior workload possível ser
processado.
– Um monitoramento efetivo de performance e estratégia de
tuning requer não apenas expertise no SGBD mas
conhecimento que vai além da administração de BD.
Tuning
• Referëncias
http://repositorio.furg.br/bitstream/handle/1/1692/TUNI
NG.pdf?sequence=1
Banco de Dados
Equipe: Carlos Jorge Ribeiro
Felipe Caiuby
James Moreira
Professora: Celinia Cantalice
ESTUDO DE CASOS EM FERRAMENTAS QUE
UTILIZAM TUNING
Obrigado!

Mais conteúdo relacionado

Mais procurados

Validação e Testes de software
Validação e Testes de softwareValidação e Testes de software
Validação e Testes de softwareRondinelli Mesquita
 
Tecnicas Para Planejamento E Execucao De Testes De Software
Tecnicas Para Planejamento E Execucao De Testes De SoftwareTecnicas Para Planejamento E Execucao De Testes De Software
Tecnicas Para Planejamento E Execucao De Testes De Softwaremarthahuback
 
Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Camilo Ribeiro
 
Modelagem relacional e normalização de dados
Modelagem relacional e normalização de dadosModelagem relacional e normalização de dados
Modelagem relacional e normalização de dadosjulianaveregue
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosRafael Albani
 
Apostila de Banco dados
Apostila de Banco dadosApostila de Banco dados
Apostila de Banco dadosFernando Palma
 
Sistema de gerenciamento de banco de dados
Sistema de gerenciamento de banco de dadosSistema de gerenciamento de banco de dados
Sistema de gerenciamento de banco de dadosJuh Souza
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasKleitor Franklint Correa Araujo
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven DevelopmentElias Nogueira
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoSandy Maciel
 
[Curso Java Basico] Aula 15: Controle de Decisao Switch-Case
[Curso Java Basico] Aula 15: Controle de Decisao Switch-Case[Curso Java Basico] Aula 15: Controle de Decisao Switch-Case
[Curso Java Basico] Aula 15: Controle de Decisao Switch-CaseLoiane Groner
 
Modelagem De Banco De Dados
Modelagem De Banco De DadosModelagem De Banco De Dados
Modelagem De Banco De Dadosmgoberto
 
Estrutura de Dados em Algoritmo C
Estrutura de Dados em Algoritmo CEstrutura de Dados em Algoritmo C
Estrutura de Dados em Algoritmo CVinícius Moraes
 
Qualidade de Software: Teste de software
Qualidade de Software: Teste de softwareQualidade de Software: Teste de software
Qualidade de Software: Teste de softwareAlex Camargo
 
Análise Orientada a Objetos - Objetos E Classes
Análise Orientada a Objetos  -   Objetos E ClassesAnálise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos - Objetos E ClassesCursoSENAC
 
Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02thomasdacosta
 

Mais procurados (20)

Aula 1 - Revisão UML
Aula 1 - Revisão UMLAula 1 - Revisão UML
Aula 1 - Revisão UML
 
Validação e Testes de software
Validação e Testes de softwareValidação e Testes de software
Validação e Testes de software
 
Tecnicas Para Planejamento E Execucao De Testes De Software
Tecnicas Para Planejamento E Execucao De Testes De SoftwareTecnicas Para Planejamento E Execucao De Testes De Software
Tecnicas Para Planejamento E Execucao De Testes De Software
 
Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade Teste de Software Introdução à Qualidade
Teste de Software Introdução à Qualidade
 
Bancos de dados NoSQL: uma visão geral
Bancos de dados NoSQL: uma visão geralBancos de dados NoSQL: uma visão geral
Bancos de dados NoSQL: uma visão geral
 
Modelagem relacional e normalização de dados
Modelagem relacional e normalização de dadosModelagem relacional e normalização de dados
Modelagem relacional e normalização de dados
 
Aula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de DadosAula1 - Apresentação de Banco de Dados
Aula1 - Apresentação de Banco de Dados
 
Apostila de Banco dados
Apostila de Banco dadosApostila de Banco dados
Apostila de Banco dados
 
Sistema de gerenciamento de banco de dados
Sistema de gerenciamento de banco de dadosSistema de gerenciamento de banco de dados
Sistema de gerenciamento de banco de dados
 
Automação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégiasAutomação de testes - uma introdução sobre estratégias
Automação de testes - uma introdução sobre estratégias
 
TDD - Test Driven Development
TDD - Test Driven DevelopmentTDD - Test Driven Development
TDD - Test Driven Development
 
Noções em teste de software e introdução a automação
Noções em teste de software e introdução a automaçãoNoções em teste de software e introdução a automação
Noções em teste de software e introdução a automação
 
Fundamentos de Testes de Software
Fundamentos de Testes de SoftwareFundamentos de Testes de Software
Fundamentos de Testes de Software
 
[Curso Java Basico] Aula 15: Controle de Decisao Switch-Case
[Curso Java Basico] Aula 15: Controle de Decisao Switch-Case[Curso Java Basico] Aula 15: Controle de Decisao Switch-Case
[Curso Java Basico] Aula 15: Controle de Decisao Switch-Case
 
Modelagem De Banco De Dados
Modelagem De Banco De DadosModelagem De Banco De Dados
Modelagem De Banco De Dados
 
Estrutura de Dados em Algoritmo C
Estrutura de Dados em Algoritmo CEstrutura de Dados em Algoritmo C
Estrutura de Dados em Algoritmo C
 
Qualidade de Software: Teste de software
Qualidade de Software: Teste de softwareQualidade de Software: Teste de software
Qualidade de Software: Teste de software
 
Apresentação sobre ipv6
Apresentação sobre ipv6Apresentação sobre ipv6
Apresentação sobre ipv6
 
Análise Orientada a Objetos - Objetos E Classes
Análise Orientada a Objetos  -   Objetos E ClassesAnálise Orientada a Objetos  -   Objetos E Classes
Análise Orientada a Objetos - Objetos E Classes
 
Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02Programação de Sistemas Distribuídos - Aula 02
Programação de Sistemas Distribuídos - Aula 02
 

Semelhante a Tuning BD para melhor desempenho

Aula_TuningProf.Celinia_Equipe_Amós Lhips
Aula_TuningProf.Celinia_Equipe_Amós LhipsAula_TuningProf.Celinia_Equipe_Amós Lhips
Aula_TuningProf.Celinia_Equipe_Amós LhipsAmós Lhips
 
Performance no MongoDB - TDC 2017 | Florianópolis
Performance no MongoDB - TDC 2017 | FlorianópolisPerformance no MongoDB - TDC 2017 | Florianópolis
Performance no MongoDB - TDC 2017 | FlorianópolisJefferson Martins de Andrade
 
SQL Server ES - Escrevendo queries rápidas (Performance/Query Tuning)
SQL Server ES - Escrevendo queries rápidas (Performance/Query Tuning)SQL Server ES - Escrevendo queries rápidas (Performance/Query Tuning)
SQL Server ES - Escrevendo queries rápidas (Performance/Query Tuning)Dirceu Resende
 
Como Implementar a Análise de Dados em Tempo Real
Como Implementar a Análise de Dados em Tempo RealComo Implementar a Análise de Dados em Tempo Real
Como Implementar a Análise de Dados em Tempo RealDenodo
 
Path to the future #5 - Melhores práticas de data warehouse no Amazon Redshift
Path to the future #5 - Melhores práticas de data warehouse no Amazon RedshiftPath to the future #5 - Melhores práticas de data warehouse no Amazon Redshift
Path to the future #5 - Melhores práticas de data warehouse no Amazon RedshiftAmazon Web Services LATAM
 
TechEd 2010: Escalando aplicações OLTP:Design de aplicação e considerações pa...
TechEd 2010: Escalando aplicações OLTP:Design de aplicação e considerações pa...TechEd 2010: Escalando aplicações OLTP:Design de aplicação e considerações pa...
TechEd 2010: Escalando aplicações OLTP:Design de aplicação e considerações pa...Fabrício Catae
 
Refactoring Databases
Refactoring DatabasesRefactoring Databases
Refactoring DatabasesIsmael
 
Analise de desempenho_compactadores_asti_2011
Analise de desempenho_compactadores_asti_2011Analise de desempenho_compactadores_asti_2011
Analise de desempenho_compactadores_asti_2011Saulo Marques
 
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...iMasters
 
Curso de Performance and Tuning - Linux
Curso de Performance and Tuning - LinuxCurso de Performance and Tuning - Linux
Curso de Performance and Tuning - LinuxDell Technologies
 
Caçadores de Mitos: A virtualização dos dados pode sustentar o desempenho com...
Caçadores de Mitos: A virtualização dos dados pode sustentar o desempenho com...Caçadores de Mitos: A virtualização dos dados pode sustentar o desempenho com...
Caçadores de Mitos: A virtualização dos dados pode sustentar o desempenho com...Denodo
 
Arquitetura de Cluster do Google
Arquitetura de Cluster do GoogleArquitetura de Cluster do Google
Arquitetura de Cluster do GoogleRafael Barbolo
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoComunidade NetPonto
 
Rodando a BlackFriday do seu eCommerce na nuvem
Rodando a BlackFriday do seu eCommerce na nuvemRodando a BlackFriday do seu eCommerce na nuvem
Rodando a BlackFriday do seu eCommerce na nuvemAmazon Web Services LATAM
 

Semelhante a Tuning BD para melhor desempenho (20)

Oracleplsql
OracleplsqlOracleplsql
Oracleplsql
 
Mpu 2012 ppt
Mpu 2012 pptMpu 2012 ppt
Mpu 2012 ppt
 
Aula_TuningProf.Celinia_Equipe_Amós Lhips
Aula_TuningProf.Celinia_Equipe_Amós LhipsAula_TuningProf.Celinia_Equipe_Amós Lhips
Aula_TuningProf.Celinia_Equipe_Amós Lhips
 
Performance no MongoDB - TDC 2017 | Florianópolis
Performance no MongoDB - TDC 2017 | FlorianópolisPerformance no MongoDB - TDC 2017 | Florianópolis
Performance no MongoDB - TDC 2017 | Florianópolis
 
SQL Server ES - Escrevendo queries rápidas (Performance/Query Tuning)
SQL Server ES - Escrevendo queries rápidas (Performance/Query Tuning)SQL Server ES - Escrevendo queries rápidas (Performance/Query Tuning)
SQL Server ES - Escrevendo queries rápidas (Performance/Query Tuning)
 
Mainframe Performance Review
Mainframe Performance ReviewMainframe Performance Review
Mainframe Performance Review
 
Como Implementar a Análise de Dados em Tempo Real
Como Implementar a Análise de Dados em Tempo RealComo Implementar a Análise de Dados em Tempo Real
Como Implementar a Análise de Dados em Tempo Real
 
Path to the future #5 - Melhores práticas de data warehouse no Amazon Redshift
Path to the future #5 - Melhores práticas de data warehouse no Amazon RedshiftPath to the future #5 - Melhores práticas de data warehouse no Amazon Redshift
Path to the future #5 - Melhores práticas de data warehouse no Amazon Redshift
 
TechEd 2010: Escalando aplicações OLTP:Design de aplicação e considerações pa...
TechEd 2010: Escalando aplicações OLTP:Design de aplicação e considerações pa...TechEd 2010: Escalando aplicações OLTP:Design de aplicação e considerações pa...
TechEd 2010: Escalando aplicações OLTP:Design de aplicação e considerações pa...
 
Refactoring Databases
Refactoring DatabasesRefactoring Databases
Refactoring Databases
 
Analise de desempenho_compactadores_asti_2011
Analise de desempenho_compactadores_asti_2011Analise de desempenho_compactadores_asti_2011
Analise de desempenho_compactadores_asti_2011
 
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
Datawarehouse - Obtenha insights consistentes para o seu negócio: conheça o n...
 
Curso de Performance and Tuning - Linux
Curso de Performance and Tuning - LinuxCurso de Performance and Tuning - Linux
Curso de Performance and Tuning - Linux
 
Tpc h benchmarking no mysql
Tpc h benchmarking no mysqlTpc h benchmarking no mysql
Tpc h benchmarking no mysql
 
Caçadores de Mitos: A virtualização dos dados pode sustentar o desempenho com...
Caçadores de Mitos: A virtualização dos dados pode sustentar o desempenho com...Caçadores de Mitos: A virtualização dos dados pode sustentar o desempenho com...
Caçadores de Mitos: A virtualização dos dados pode sustentar o desempenho com...
 
Sql Server
Sql ServerSql Server
Sql Server
 
Arquitetura de Cluster do Google
Arquitetura de Cluster do GoogleArquitetura de Cluster do Google
Arquitetura de Cluster do Google
 
ASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis PaulinoASP.Net Performance – A pragmatic approach - Luis Paulino
ASP.Net Performance – A pragmatic approach - Luis Paulino
 
TechEd_OFC305
TechEd_OFC305TechEd_OFC305
TechEd_OFC305
 
Rodando a BlackFriday do seu eCommerce na nuvem
Rodando a BlackFriday do seu eCommerce na nuvemRodando a BlackFriday do seu eCommerce na nuvem
Rodando a BlackFriday do seu eCommerce na nuvem
 

Último

5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdfLeloIurk1
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...IsabelPereira2010
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...Rosalina Simão Nunes
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfCamillaBrito19
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números Mary Alvarenga
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxLuizHenriquedeAlmeid6
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memorialgrecchi
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreElianeElika
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfprofesfrancleite
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?AnabelaGuerreiro7
 
Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfMárcio Azevedo
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividadeMary Alvarenga
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...azulassessoria9
 
Aula de História Ensino Médio Mesopotâmia.pdf
Aula de História Ensino Médio Mesopotâmia.pdfAula de História Ensino Médio Mesopotâmia.pdf
Aula de História Ensino Médio Mesopotâmia.pdfFernandaMota99
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....LuizHenriquedeAlmeid6
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.silves15
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptMaiteFerreira4
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...azulassessoria9
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamentalAntônia marta Silvestre da Silva
 

Último (20)

5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
5 bloco 7 ano - Ensino Relogioso- Lideres Religiosos _ Passei Direto.pdf
 
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
DeClara n.º 75 Abril 2024 - O Jornal digital do Agrupamento de Escolas Clara ...
 
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de..."É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
"É melhor praticar para a nota" - Como avaliar comportamentos em contextos de...
 
o ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdfo ciclo do contato Jorge Ponciano Ribeiro.pdf
o ciclo do contato Jorge Ponciano Ribeiro.pdf
 
Bullying, sai pra lá
Bullying,  sai pra láBullying,  sai pra lá
Bullying, sai pra lá
 
CRUZADINHA - Leitura e escrita dos números
CRUZADINHA   -   Leitura e escrita dos números CRUZADINHA   -   Leitura e escrita dos números
CRUZADINHA - Leitura e escrita dos números
 
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptxSlides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
Slides Lição 5, CPAD, Os Inimigos do Cristão, 2Tr24, Pr Henrique.pptx
 
Libras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS MemoriaLibras Jogo da memória em LIBRAS Memoria
Libras Jogo da memória em LIBRAS Memoria
 
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestreCIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
CIÊNCIAS HUMANAS - ENSINO MÉDIO. 2024 2 bimestre
 
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdfPRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
PRÉDIOS HISTÓRICOS DE ASSARÉ Prof. Francisco Leite.pdf
 
Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?Urso Castanho, Urso Castanho, o que vês aqui?
Urso Castanho, Urso Castanho, o que vês aqui?
 
Revista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdfRevista-Palavra-Viva-Profetas-Menores (1).pdf
Revista-Palavra-Viva-Profetas-Menores (1).pdf
 
Música Meu Abrigo - Texto e atividade
Música   Meu   Abrigo  -   Texto e atividadeMúsica   Meu   Abrigo  -   Texto e atividade
Música Meu Abrigo - Texto e atividade
 
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
PROVA - ESTUDO CONTEMPORÂNEO E TRANSVERSAL: LEITURA DE IMAGENS, GRÁFICOS E MA...
 
Aula de História Ensino Médio Mesopotâmia.pdf
Aula de História Ensino Médio Mesopotâmia.pdfAula de História Ensino Médio Mesopotâmia.pdf
Aula de História Ensino Médio Mesopotâmia.pdf
 
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
Slides Lição 5, Betel, Ordenança para uma vida de vigilância e oração, 2Tr24....
 
A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.A horta do Senhor Lobo que protege a sua horta.
A horta do Senhor Lobo que protege a sua horta.
 
Literatura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.pptLiteratura Brasileira - escolas literárias.ppt
Literatura Brasileira - escolas literárias.ppt
 
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...Considere a seguinte situação fictícia:  Durante uma reunião de equipe em uma...
Considere a seguinte situação fictícia: Durante uma reunião de equipe em uma...
 
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
2° ano_PLANO_DE_CURSO em PDF referente ao 2° ano do Ensino fundamental
 

Tuning BD para melhor desempenho

  • 1. Banco de Dados Equipe: Carlos Jorge Ribeiro Felipe Caiuby James Moreira Professora: Celinia Cantalice ESTUDO DE CASOS EM FERRAMENTAS QUE UTILIZAM TUNING
  • 2. Tuning • Tuning diz respeito ao ajuste do SGBD para melhor utilização dos recursos deste, provendo um uso eficaz e eficiente do SGBD. • Tuning requer conhecimento de: – Desenvolvimento de Aplicações – SGBD – Sistema operacional – Hardware Portanto, é necessário monitorar e revisar o projeto físico de banco de dados constantemente. Os objetivos da sintonia (ou tuning) são os seguintes: I. fazer com que as aplicações sejam executadas mais rapidamente, II. diminuir o tempo de resposta de consultas/transações e III. melhorar o desempenho geral das transações.
  • 3. Tuning • Em Tuning, comumente serão utilizadas informações de estatísticas de uso de HW: – Utilização do processador – Atividade de I/O – Paginação – Memória utilizada – ...
  • 4. Tuning Critérios Adotados De uma forma simplificada, existem alguns critérios principais que podem ser adotados para identificar as consultas que devem ser modificadas, são eles: • monitorar as sessões ativas que estão sendo executadas no banco de dados; • separar as consultas que estão com execuções demoradas, • dividi-las em grupos, como: prioridade, freqüência de execução e fraco desempenho; • implementar os ajustes reescrevendo as consultas que estão com fraco desempenho. Cada banco de dados fornece suas ferramentas específicas para capturar as consultas citadas nos itens acima, porém a maneira mais eficiente e explícita é o próprio uso feito pelo usuário final.
  • 5. Tuning Particionar Gargalos – O sistema fica lento geralmente porquê há algum(uns) componentes limitando a performance como um todo. Agir nesta parte é o correto. – Particionar permite reduzir a carga de um certo componente do sistema. – Lição: quando encontrar um gargalo, primeiro tente agilizar o componente que causa o gargalo, se não conseguir sucesso particione.
  • 6. Tuning Custos de inicialização são altos, custos de execução são baixos – Uma operação de leitura é cara para iniciar, mas menos cara enquanto se lê. Portanto, tente fazer leituras mais longas, colocando tabelas que sofrem scan constantemente serem armazenadas de forma contígua – O mesmo raciocínio vale para abertura de conexões com o SGBD, parsing de consultas muito usadas, envio de mensagens na rede (tamanho das mensagens)
  • 7. Tuning Coloque no servidor apenas o que diz respeito ao servidor – Saber fazer o load-balancing, permitindo não sobrecarregar o servidor de banco de dados com tarefas que poderiam estar em outras camadas.
  • 8. Tuning Esteja preparado para trade-offs – Adição de índices – Verificar as vantagens/desvantagens entre a compra de mais recursos versus a agilidade que se irá obter destas aquisições.
  • 9. Tuning Cinco fatores influem na performance: – Workload (carga) – Throughput (Vazão) – Recursos – Otimização – Contenção
  • 10. Tuning • Workload – Define a demanda do BD. Combina transações online, batch jobs, consultas ad hoc, data warehousing, consultas analíticas, e comandos dirigidos ao SGBD – Pode variar drasticamente de dia para dia, hora para hora, minuto para minuto, segundo para segundo. – Algumas vezes é previsível (Rodar a folha de pagamento no final do mês), mas muitas vezes é imprevisível – Workload tem grande impacto na performance do SGBD
  • 11. Tuning • Throughput – Define a capacidade do hardware/software para processar os dados – É composto de velocidade de I/O, velocidade de CPU, capacidades de paralelismo, e eficiência do SO. – Kernel do DB, espaço em disco, controladores de cache, e microcode são exemplos dos recursos a serem avaliados para computar throughput
  • 12. Tuning • Otimização – Refere-se à análise das solicitações ao BD com custo de query que geram diferentes planos de acesso aos dados. • Contenção – Quando a demanda (workload) para uma recurso particular é alta então contenção acontece. – É a condição na qual dois ou mais componentes de workload estão tentando usar um recurso em modo conflitante. – À medida que a contenção aumenta, o throughput diminui.
  • 13. Tuning Padrões e Otimizações Serão apresentados nesta seção os testes que serviram como base para medir o desempenho do SGBD PostgreSQL em relação ao SGBD MySQL, bem como um comparativo de seus desempenhos em diferentes sistemas operacionais e sistemas de arquivos. A partir destes comparativos foram desenvolvidas configurações de otimização para o SGBD PostgreSQL e realizadas novas medições de desempenho com o objetivo de demonstrar que o processo de otimização pode gerar algumas melhorias significativas quando realizado corretamente.
  • 14. Tuning Tabela 1: Sistemas operacionais utilizados Sistema Operacional Sistema de Arquivos Windows XP Home SP2 NFTS Linux Kernel 2.6.18 ReiserFS Linux Kernel 2.6.18 Ext3 Partindo do objetivo de gerar testes de desempenho confiáveis e certificados, foi escolhido o método TPC-C, a partir deste método foi desenvolvido um conjunto de testes para serem executados nos diferentes sistemas operacionais e sistemas de arquivos abordados no projeto. Primeiramente foram configurados três sistemas operacionais distintos e estes sistemas estão especificados na Tabela 1.
  • 15. Tuning Padrões e Otimizações TPC-C (Transaction Processing Perfomance council) simula um ambiente de computação completo, onde uma população de usuários executa as transações contra um banco de dados. Nele são avaliados quesitos como: • A execução simultânea de vários tipos de transações que abrangem uma amplitude de complexidade; • Várias sessões de terminais on-line; • Integridade da transação (propriedades ACID); • Distribuição não uniforme de acesso a dados por meio de chaves primárias e secundárias.
  • 16. Tuning Padrões e Otimizações Como conjunto de testes para utilização do método TPC-C no software BenchmarkSQL adotou-se as três configurações para transações demonstradas na Tabela 2. Tabela 2: Conjunto de testes para o método TPC-C e tamanho aproximado da base de dados resultante Nº de WareHouses Nº de Terminais Tamanho Decorrente 1 10 300MB 10 10 1GB 10 100 1GB
  • 17. Tuning Padrões e Otimizações Resultados Obtidos Seguindo o conjunto de testes especificado, foi utilizado o software BenchmarkSQL nos sistemas citados anteriormente, utilizando a configuração padrão dos SGBDs PostgreSQL e MySQL. Os resultados destes testes serão demonstrados a seguir. Tabela 3: Resultados obtidos com as configurações padrão para execução de 1 warehouses e 10 terminais WeareHouse 1 - Terminais 10 Sistema Operacional Configuração Nº Transação Média TPm Duração (min) Windows - NTFS PostgreSQL 13078 577,4698178 10 MySQL 19546 887,6759983 10 Linux - ReiserFS PostgreSQL 21961 993,6732044 10 MySQL 17846 796,1059276 10 Linux - Ext3 PostgreSQL 11744 536,5409173 10 MySQL 14957 673,0266379 10
  • 18. Tuning Padrões e Otimizações Pode-se constatar que o SGBD MySQL obteve um desempenho superior ao SGBD PostgreSQL, em duas situações. Estas foram utilizando o sistema operacional Windows com NTFS, e no sistema operacional Linux utilizando Ext3, para o teste de 10 terminais e 1 warehouse que utiliza uma base de dados de aproximadamente 300MB de espaço em disco. No sistema operacional Linux utilizando ReiserFS foi constatado que o SGBD PostgreSQL apresenta um bom desempenho em sua configuração padrão em comparação com o SGBD MySQL, para este teste que apresenta um número não muito grande de conexões concorrentes.
  • 19. Tuning Padrões e Otimizações Tabela 4: Resultados obtidos com as configurações padrão para execução de 10 warehouses e 10 terminais WeareHouse 10 - Terminais 10 Sistema Operacional Configuração Nº Transação Média TPm Duração (min) Windows - NTFS PostgreSQL 7413 330,4362277 10 MySQL 13416 593,6841333 10 Linux - ReiserFS PostgreSQL 10649 476,1026567 10 MySQL 13187 595,8599724 10 Linux - Ext3 PostgreSQL 6547 294,8913817 10 MySQL 11154 361,796517 10
  • 20. Tuning Padrões e Otimizações Constatou-se que conforme são aumentados os números de conexões concorrentes o SGBD PostgreSQL apresenta uma queda de desempenho inclusive no sistema operacional Linux utilizando ReiserFS, isto devesse ao fato de que a configuração padrão do SGBD PostgreSQL não é otimizada para ambientes OLTP (OnLine Transaction Processing), que possuem grande número de conexões concorrentes e consultas simples. Desta forma constatou-se a necessidade de otimizar o SGBD PostgreSQL a fim de melhorar o seu desempenho neste tipo de ambiente.
  • 21. Tuning • Conclusao – Performance de BD pode ser definida como a otimização de uso de recursos para aumentar a throughput e minimizar a contenção, possibilitando o maior workload possível ser processado. – Um monitoramento efetivo de performance e estratégia de tuning requer não apenas expertise no SGBD mas conhecimento que vai além da administração de BD.
  • 23. Banco de Dados Equipe: Carlos Jorge Ribeiro Felipe Caiuby James Moreira Professora: Celinia Cantalice ESTUDO DE CASOS EM FERRAMENTAS QUE UTILIZAM TUNING Obrigado!