SlideShare ist ein Scribd-Unternehmen logo
1 von 37
Downloaden Sie, um offline zu lesen
MAC5779
Análise de Desempenho
Mauricio De Diana
mdediana@ime.usp.br
Desempenho de sistemas
Quantidade de trabalho x tempo e / ou recursos
Exemplos:
Tempo de resposta
Vazão
Utilização
Consumo de banda
Consumo de energia
Afeta
Custo
Escalabilidade
Funcionalidade
etc
Desempenho de sistemas
Aplicações Web (tempo de resposta, vazão)
Centros de processamento de dados (energia, banda)
Computação científica (vazão)
Análise de dados (armazenamento, vazão)
Computação móvel (memória, banda)
A arte da análise de desempenho
A arte da avaliação de desempenho
Sistema Carga de trabalho 1 Carga de trabalho 2
A 20 10
B 10 20
A arte da avaliação de desempenho
Sistema Carga de trabalho 1 Carga de trabalho 2
A 20 10
B 10 20
Pela Média: Iguais (A -> 15, B -> 15)
A arte da avaliação de desempenho
Sistema Carga de trabalho 1 Carga de trabalho 2
A 20 10
B 10 20
B como base: A é melhor (A -> 1.25, B -> 1)
Sistema Carga de trabalho 1 Carga de trabalho 2
A 2 0.5
B 1 1
A arte da avaliação de desempenho
Sistema Carga de trabalho 1 Carga de trabalho 2
A 20 10
B 10 20
A como base: B é melhor (A -> 1, B -> 1.25)
Sistema Carga de trabalho 1 Carga de trabalho 2
A 1 1
B 0.5 2
Estudo de caso
Desempenho de sistemas com dados georeplicados com
consistência em momento indeterminado e na linha do tempo
http://ime.usp.br/~mdediana/diss-mdediana.pdf
Replicação - cenário 1
Replicação - cenário 2
Fonte: http://www.julianbrowne.com/article/viewer/brewers-cap-theorem
Estudo de caso
Consistência em momento indeterminado (Eventual)
Dynamo
Mestre-mestre
Inconsistências temporárias (conflitos)
Quóruns (N, R, W)
Alta disponibilidade
Consistência na linha do tempo
PNUTS
Mestre-escravo
Escritas consistentes, leituras consistentes ou por versão
Migração de réplica mestre
Menor disponibilidade
Limitações na análise de desempenho
Recursos disponíveis
Tempo
Hardware
Software
Pessoas
Custo, em resumo
Caso
Acesso à plataforma para experimentos e suas regras
Abordagem sistemática
1. Definição de metas e do sistema
2. Lista de serviços e suas saídas
3. Escolha das métricas de desempenho
4. Lista de parâmetros
5. Seleção de fatores e níveis
Abordagem sistemática
6. Seleção da técnica de avaliação
7. Seleção da carga de trabalho
8. Projeto dos experimentos
9. Análise e interpretação dos dados
10. Apresentação dos resultados
(iterar se necessário)
Definição de metas e do sistema
Sistema testado x componente testado
Definição de sistema depende da meta
Definições de métricas e carga de trabalho dependem da
definição do sistema
Caso
Sistema: Riak
Meta: Análise de dois modelos de consistência diferentes
operando em uma WAN
Lista de serviços e suas saídas
O que o sistema realiza e resultados possíveis
Caso
CRUD: Resposta consistente, inconsistente, erro
Map/Reduce: ...
Monitoração: ...
etc
Escolha de métricas de desempenho
Métrica: critério de análise de desempenho (variáveis de
resposta)
Em geral relativas a velocidade, acurácia e disponibilidade
Caso
Tempo de resposta
Quantidade de conflitos
Lista de parâmetros
Parâmetros: características que afetam o desempenho
Sistema: hardware e software
Carga de trabalho: requisições
Caso
Configuração dos nós
Mecanismo de armazenamento - memória ou disco
Quantidade de nós do sistema
Quantidade de objetos armazenados
Tamanho dos objetos armazenados
Lista de parâmetros
Caso
Quantidade de enlaces de WAN
Latências da LAN / WAN
Jitters da LAN / WAN
Larguras de banda da LAN / WAN
Relação leitura / escrita
Localidade de acessos
etc
Seleção de fatores e níveis
Fatores: variáveis dependentes (parâmetros variados)
Níveis: valores dos fatores
Interação entre fatores
Limitados por
Tempo / recursos
Complexidade da análise de resultados
Parâmetros fixados: aqueles que não são fatores
Seleção de fatores e seus valores
Caso
33 parâmetros, 4 fatores
Principal limitação: infraestrutura
Seleção da técnica de avaliação
Principais: Modelagem analítica, simulação e medição
Critérios de seleção
Estágio de desenvolvimento do sistema
Tempo necessário
Ferramentas
Acurácia
Avaliação de custo-benefício
Custo
Venda dos resultados
Caso
Medição
Seleção da carga de trabalho
Lista de requisições para o sistema
Deve ser representativa do caso de uso do sistema
Benchmark: define condições de comparação
Caso
Benchmark (Basho Bench)
Relação leitura/escrita
Localidade
Popularidade dos objetos
Projeto dos experimentos
Definido por custo / benefício
Duas fases
Seleção de fatores significativos
Estudo final
Experimentos fatoriais
Completo (qtde exp = (i = 1, k) ni
) x fracionado
2k
(qtde exp = 2k
)
Com / sem replicação
Projeto dos experimentos
Operação L J P D O C LJ ... LJPDOC
leitura 72 21 1 0 0 0 6 ... 0
escrita 69 23 1 0 0 0 6 ... 0
Influência relativa dos fatores de rede
L: Latência
J: Jitter
P: Perda de pacotes
D: Duplicação de pacotes
O: Reordenação de pacotes
C: Variante do TCP
Caso
Projeto dos experimentos
Caso
1a tentativa (sem método)
420 exps, 24h, 5 fatores
Sem análise de importância dos fatores (qualidade baixa)
2a tentativa (com método)
64 exps, 6.5h, 4 fatores
Com análise de importância dos fatores (qualidade alta)
Análise e interpretação dos dados
Resultados, não conclusões
Estatística
Média, mediana, moda
Distribuições
Desvio padrão, erro padrão
Intervalo de confiança
Tamanho da amostra
etc
Ameaças à validade
Análise e interpretação dos dados
Caso
Análises
Tempos de resposta
Conflitos
Migrações
Tratamento estatístico
99% de confiança
1% de exatidão
Tamanho de amostra variável
1 replicações (com teste)
Análise e interpretação dos dados
Caso
Ameaças à validade
Parâmetros fixados
Sistema operando sem falhas
Arquitetura do sistema
Erro: médias de tempos de resposta muito diferentes
10 reqs 300 ms (remotas)
10 reqs 1 ms (locais)
média = 150.5 ms
Média é 150x maior que mínimo e metade do máximo
Apresentação dos resultados
Considerar a audiência
Mais tabelas e gráficos, menos jargão estatístico
Variáveis quantitativas x categóricas
Apresentação dos resultados
Caso
Apresentação dos resultados
Caso
Apresentação dos resultados
Caso
Ganhos relativos com relação a ind2
Percentil Localidade (%) lt_qqer lt_rec
75 50 0.87 1.0
75 90 92 97
90 50 0.77 1.3
90 90 1.4 1.6
Erros comuns
Falta de método
Carga de trabalho não representativa
Ignorar parâmetros / fatores relevantes
Análise muito complexa
Ignorar aspectos sociais
Omitir premissas e limitações
Médias de valores muito diferentes
Projeto
Faça uma análise de desempenho de um sistema a sua
escolha.
Sugestões
Análise de desempenho de algoritmos de ordenação ou
estruturas de dados
Em Ruby: https://github.com/kanwei/algorithms
Análise de desempenho de disco
Benchmark: Bonnie++
Análise de aplicação / servidor Web
Benchmark: ab, JMeter, etc
Referências
The Art of Computer Systems Performance Analysis:
Techniques for Experimental Design, Measurement,
Simulation, and Modeling (Jain, Raj)
Measuring Computer Performance: A Practitioner's Guide
(Lilja, David)
Guerrilla Capacity Planning: A Tactical Approach to Planning
for Highly Scalable Applications and Services (Gunther, Neil)
The Art of Capacity Planning: Scaling Web Resources
(Allspaw, John)

Weitere ähnliche Inhalte

Ähnlich wie Análise de desempenho de sistemas

Eng.Software-Métricas
Eng.Software-MétricasEng.Software-Métricas
Eng.Software-Métricaselliando dias
 
Teste de Desempenho, muito além do JMeter
Teste de Desempenho, muito além do JMeterTeste de Desempenho, muito além do JMeter
Teste de Desempenho, muito além do JMeterJuliano Santos
 
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.comMonitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.comDenis Vieira
 
DMAIC - Ferramentas para projetos Six Sigma - Lean
DMAIC - Ferramentas para projetos Six Sigma - LeanDMAIC - Ferramentas para projetos Six Sigma - Lean
DMAIC - Ferramentas para projetos Six Sigma - LeanAragon Vieira
 
Aula12 T EES UFS Testes de SW
Aula12  T EES  UFS  Testes de SWAula12  T EES  UFS  Testes de SW
Aula12 T EES UFS Testes de SWguest8ae21d
 
Estimativa de Esforço
Estimativa de EsforçoEstimativa de Esforço
Estimativa de Esforçoelliando dias
 
Produto hipermídia – levantamento de requisitos
Produto hipermídia – levantamento de requisitosProduto hipermídia – levantamento de requisitos
Produto hipermídia – levantamento de requisitosMarlon Vinicius da Silva
 
Gestão de Projectos de SW OO Métricas Estimações e Planificações
Gestão de Projectos de SW OO Métricas Estimações e PlanificaçõesGestão de Projectos de SW OO Métricas Estimações e Planificações
Gestão de Projectos de SW OO Métricas Estimações e PlanificaçõesRogerio P C do Nascimento
 
Comparação de desempenho entre SQL e NoSQL
Comparação de desempenho entre SQL e NoSQLComparação de desempenho entre SQL e NoSQL
Comparação de desempenho entre SQL e NoSQLpichiliani
 
Cmg falando de testes de desempenho
Cmg falando de testes de desempenhoCmg falando de testes de desempenho
Cmg falando de testes de desempenhoEvandro Grezeli
 
Testando aplicações DataSnap
Testando aplicações DataSnapTestando aplicações DataSnap
Testando aplicações DataSnapAndreano Lanusse
 
Falando de Testes de Desempenho - por Evandro Grezeli
Falando de Testes de Desempenho - por Evandro GrezeliFalando de Testes de Desempenho - por Evandro Grezeli
Falando de Testes de Desempenho - por Evandro GrezeliJoao Galdino Mello de Souza
 
Benchmarking para sistemas de alto desempenho
Benchmarking para sistemas de alto desempenhoBenchmarking para sistemas de alto desempenho
Benchmarking para sistemas de alto desempenhoIntel Software Brasil
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de RequisitosTiago Barros
 

Ähnlich wie Análise de desempenho de sistemas (20)

Eng.Software-Métricas
Eng.Software-MétricasEng.Software-Métricas
Eng.Software-Métricas
 
02a medicao
02a medicao02a medicao
02a medicao
 
Computacao
ComputacaoComputacao
Computacao
 
Teste de Desempenho, muito além do JMeter
Teste de Desempenho, muito além do JMeterTeste de Desempenho, muito além do JMeter
Teste de Desempenho, muito além do JMeter
 
Monitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.comMonitoracao Inteligente na Globo.com
Monitoracao Inteligente na Globo.com
 
Dba Ciclo Palestra P5 V1a
Dba Ciclo Palestra P5 V1aDba Ciclo Palestra P5 V1a
Dba Ciclo Palestra P5 V1a
 
DMAIC - Ferramentas para projetos Six Sigma - Lean
DMAIC - Ferramentas para projetos Six Sigma - LeanDMAIC - Ferramentas para projetos Six Sigma - Lean
DMAIC - Ferramentas para projetos Six Sigma - Lean
 
Aula12 T EES UFS Testes de SW
Aula12  T EES  UFS  Testes de SWAula12  T EES  UFS  Testes de SW
Aula12 T EES UFS Testes de SW
 
Aula12 TEES UFS Testes de SW
Aula12 TEES UFS Testes de SWAula12 TEES UFS Testes de SW
Aula12 TEES UFS Testes de SW
 
Estimativa de Esforço
Estimativa de EsforçoEstimativa de Esforço
Estimativa de Esforço
 
Produto hipermídia – levantamento de requisitos
Produto hipermídia – levantamento de requisitosProduto hipermídia – levantamento de requisitos
Produto hipermídia – levantamento de requisitos
 
Gestão de Projectos de SW OO Métricas Estimações e Planificações
Gestão de Projectos de SW OO Métricas Estimações e PlanificaçõesGestão de Projectos de SW OO Métricas Estimações e Planificações
Gestão de Projectos de SW OO Métricas Estimações e Planificações
 
Comparação de desempenho entre SQL e NoSQL
Comparação de desempenho entre SQL e NoSQLComparação de desempenho entre SQL e NoSQL
Comparação de desempenho entre SQL e NoSQL
 
Cmg falando de testes de desempenho
Cmg falando de testes de desempenhoCmg falando de testes de desempenho
Cmg falando de testes de desempenho
 
Testando aplicações DataSnap
Testando aplicações DataSnapTestando aplicações DataSnap
Testando aplicações DataSnap
 
Falando de Testes de Desempenho - por Evandro Grezeli
Falando de Testes de Desempenho - por Evandro GrezeliFalando de Testes de Desempenho - por Evandro Grezeli
Falando de Testes de Desempenho - por Evandro Grezeli
 
04 produto hipermidia
04   produto hipermidia04   produto hipermidia
04 produto hipermidia
 
Benchmarking para sistemas de alto desempenho
Benchmarking para sistemas de alto desempenhoBenchmarking para sistemas de alto desempenho
Benchmarking para sistemas de alto desempenho
 
Engenharia de Requisitos
Engenharia de RequisitosEngenharia de Requisitos
Engenharia de Requisitos
 
Webshow - Automação Laboratorial I
Webshow - Automação Laboratorial IWebshow - Automação Laboratorial I
Webshow - Automação Laboratorial I
 

Análise de desempenho de sistemas

  • 1. MAC5779 Análise de Desempenho Mauricio De Diana mdediana@ime.usp.br
  • 2. Desempenho de sistemas Quantidade de trabalho x tempo e / ou recursos Exemplos: Tempo de resposta Vazão Utilização Consumo de banda Consumo de energia Afeta Custo Escalabilidade Funcionalidade etc
  • 3. Desempenho de sistemas Aplicações Web (tempo de resposta, vazão) Centros de processamento de dados (energia, banda) Computação científica (vazão) Análise de dados (armazenamento, vazão) Computação móvel (memória, banda)
  • 4. A arte da análise de desempenho
  • 5. A arte da avaliação de desempenho Sistema Carga de trabalho 1 Carga de trabalho 2 A 20 10 B 10 20
  • 6. A arte da avaliação de desempenho Sistema Carga de trabalho 1 Carga de trabalho 2 A 20 10 B 10 20 Pela Média: Iguais (A -> 15, B -> 15)
  • 7. A arte da avaliação de desempenho Sistema Carga de trabalho 1 Carga de trabalho 2 A 20 10 B 10 20 B como base: A é melhor (A -> 1.25, B -> 1) Sistema Carga de trabalho 1 Carga de trabalho 2 A 2 0.5 B 1 1
  • 8. A arte da avaliação de desempenho Sistema Carga de trabalho 1 Carga de trabalho 2 A 20 10 B 10 20 A como base: B é melhor (A -> 1, B -> 1.25) Sistema Carga de trabalho 1 Carga de trabalho 2 A 1 1 B 0.5 2
  • 9. Estudo de caso Desempenho de sistemas com dados georeplicados com consistência em momento indeterminado e na linha do tempo http://ime.usp.br/~mdediana/diss-mdediana.pdf
  • 11. Replicação - cenário 2 Fonte: http://www.julianbrowne.com/article/viewer/brewers-cap-theorem
  • 12. Estudo de caso Consistência em momento indeterminado (Eventual) Dynamo Mestre-mestre Inconsistências temporárias (conflitos) Quóruns (N, R, W) Alta disponibilidade Consistência na linha do tempo PNUTS Mestre-escravo Escritas consistentes, leituras consistentes ou por versão Migração de réplica mestre Menor disponibilidade
  • 13. Limitações na análise de desempenho Recursos disponíveis Tempo Hardware Software Pessoas Custo, em resumo Caso Acesso à plataforma para experimentos e suas regras
  • 14. Abordagem sistemática 1. Definição de metas e do sistema 2. Lista de serviços e suas saídas 3. Escolha das métricas de desempenho 4. Lista de parâmetros 5. Seleção de fatores e níveis
  • 15. Abordagem sistemática 6. Seleção da técnica de avaliação 7. Seleção da carga de trabalho 8. Projeto dos experimentos 9. Análise e interpretação dos dados 10. Apresentação dos resultados (iterar se necessário)
  • 16. Definição de metas e do sistema Sistema testado x componente testado Definição de sistema depende da meta Definições de métricas e carga de trabalho dependem da definição do sistema Caso Sistema: Riak Meta: Análise de dois modelos de consistência diferentes operando em uma WAN
  • 17. Lista de serviços e suas saídas O que o sistema realiza e resultados possíveis Caso CRUD: Resposta consistente, inconsistente, erro Map/Reduce: ... Monitoração: ... etc
  • 18. Escolha de métricas de desempenho Métrica: critério de análise de desempenho (variáveis de resposta) Em geral relativas a velocidade, acurácia e disponibilidade Caso Tempo de resposta Quantidade de conflitos
  • 19. Lista de parâmetros Parâmetros: características que afetam o desempenho Sistema: hardware e software Carga de trabalho: requisições Caso Configuração dos nós Mecanismo de armazenamento - memória ou disco Quantidade de nós do sistema Quantidade de objetos armazenados Tamanho dos objetos armazenados
  • 20. Lista de parâmetros Caso Quantidade de enlaces de WAN Latências da LAN / WAN Jitters da LAN / WAN Larguras de banda da LAN / WAN Relação leitura / escrita Localidade de acessos etc
  • 21. Seleção de fatores e níveis Fatores: variáveis dependentes (parâmetros variados) Níveis: valores dos fatores Interação entre fatores Limitados por Tempo / recursos Complexidade da análise de resultados Parâmetros fixados: aqueles que não são fatores
  • 22. Seleção de fatores e seus valores Caso 33 parâmetros, 4 fatores Principal limitação: infraestrutura
  • 23. Seleção da técnica de avaliação Principais: Modelagem analítica, simulação e medição Critérios de seleção Estágio de desenvolvimento do sistema Tempo necessário Ferramentas Acurácia Avaliação de custo-benefício Custo Venda dos resultados Caso Medição
  • 24. Seleção da carga de trabalho Lista de requisições para o sistema Deve ser representativa do caso de uso do sistema Benchmark: define condições de comparação Caso Benchmark (Basho Bench) Relação leitura/escrita Localidade Popularidade dos objetos
  • 25. Projeto dos experimentos Definido por custo / benefício Duas fases Seleção de fatores significativos Estudo final Experimentos fatoriais Completo (qtde exp = (i = 1, k) ni ) x fracionado 2k (qtde exp = 2k ) Com / sem replicação
  • 26. Projeto dos experimentos Operação L J P D O C LJ ... LJPDOC leitura 72 21 1 0 0 0 6 ... 0 escrita 69 23 1 0 0 0 6 ... 0 Influência relativa dos fatores de rede L: Latência J: Jitter P: Perda de pacotes D: Duplicação de pacotes O: Reordenação de pacotes C: Variante do TCP Caso
  • 27. Projeto dos experimentos Caso 1a tentativa (sem método) 420 exps, 24h, 5 fatores Sem análise de importância dos fatores (qualidade baixa) 2a tentativa (com método) 64 exps, 6.5h, 4 fatores Com análise de importância dos fatores (qualidade alta)
  • 28. Análise e interpretação dos dados Resultados, não conclusões Estatística Média, mediana, moda Distribuições Desvio padrão, erro padrão Intervalo de confiança Tamanho da amostra etc Ameaças à validade
  • 29. Análise e interpretação dos dados Caso Análises Tempos de resposta Conflitos Migrações Tratamento estatístico 99% de confiança 1% de exatidão Tamanho de amostra variável 1 replicações (com teste)
  • 30. Análise e interpretação dos dados Caso Ameaças à validade Parâmetros fixados Sistema operando sem falhas Arquitetura do sistema Erro: médias de tempos de resposta muito diferentes 10 reqs 300 ms (remotas) 10 reqs 1 ms (locais) média = 150.5 ms Média é 150x maior que mínimo e metade do máximo
  • 31. Apresentação dos resultados Considerar a audiência Mais tabelas e gráficos, menos jargão estatístico Variáveis quantitativas x categóricas
  • 34. Apresentação dos resultados Caso Ganhos relativos com relação a ind2 Percentil Localidade (%) lt_qqer lt_rec 75 50 0.87 1.0 75 90 92 97 90 50 0.77 1.3 90 90 1.4 1.6
  • 35. Erros comuns Falta de método Carga de trabalho não representativa Ignorar parâmetros / fatores relevantes Análise muito complexa Ignorar aspectos sociais Omitir premissas e limitações Médias de valores muito diferentes
  • 36. Projeto Faça uma análise de desempenho de um sistema a sua escolha. Sugestões Análise de desempenho de algoritmos de ordenação ou estruturas de dados Em Ruby: https://github.com/kanwei/algorithms Análise de desempenho de disco Benchmark: Bonnie++ Análise de aplicação / servidor Web Benchmark: ab, JMeter, etc
  • 37. Referências The Art of Computer Systems Performance Analysis: Techniques for Experimental Design, Measurement, Simulation, and Modeling (Jain, Raj) Measuring Computer Performance: A Practitioner's Guide (Lilja, David) Guerrilla Capacity Planning: A Tactical Approach to Planning for Highly Scalable Applications and Services (Gunther, Neil) The Art of Capacity Planning: Scaling Web Resources (Allspaw, John)