Análise de desempenho

456 views
343 views

Published on

Aula na disciplina Engenharia de Software Experimental do IME-USP.

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

  • Be the first to like this

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

No notes for slide

Análise de desempenho

  1. 1. MAC5779Análise de DesempenhoMauricio De Dianamdediana@ime.usp.br
  2. 2. Desempenho de sistemasQuantidade de trabalho x tempo e / ou recursosExemplos:Tempo de respostaVazãoUtilizaçãoConsumo de bandaConsumo de energiaAfetaCustoEscalabilidadeFuncionalidadeetc
  3. 3. Desempenho de sistemasAplicaçõ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. 4. A arte da análise de desempenho
  5. 5. A arte da avaliação de desempenhoSistema Carga de trabalho 1 Carga de trabalho 2A 20 10B 10 20
  6. 6. A arte da avaliação de desempenhoSistema Carga de trabalho 1 Carga de trabalho 2A 20 10B 10 20Pela Média: Iguais (A -> 15, B -> 15)
  7. 7. A arte da avaliação de desempenhoSistema Carga de trabalho 1 Carga de trabalho 2A 20 10B 10 20B como base: A é melhor (A -> 1.25, B -> 1)Sistema Carga de trabalho 1 Carga de trabalho 2A 2 0.5B 1 1
  8. 8. A arte da avaliação de desempenhoSistema Carga de trabalho 1 Carga de trabalho 2A 20 10B 10 20A como base: B é melhor (A -> 1, B -> 1.25)Sistema Carga de trabalho 1 Carga de trabalho 2A 1 1B 0.5 2
  9. 9. Estudo de casoDesempenho de sistemas com dados georeplicados comconsistência em momento indeterminado e na linha do tempohttp://ime.usp.br/~mdediana/diss-mdediana.pdf
  10. 10. Replicação - cenário 1
  11. 11. Replicação - cenário 2Fonte: http://www.julianbrowne.com/article/viewer/brewers-cap-theorem
  12. 12. Estudo de casoConsistência em momento indeterminado (Eventual)DynamoMestre-mestreInconsistências temporárias (conflitos)Quóruns (N, R, W)Alta disponibilidadeConsistência na linha do tempoPNUTSMestre-escravoEscritas consistentes, leituras consistentes ou por versãoMigração de réplica mestreMenor disponibilidade
  13. 13. Limitações na análise de desempenhoRecursos disponíveisTempoHardwareSoftwarePessoasCusto, em resumoCasoAcesso à plataforma para experimentos e suas regras
  14. 14. Abordagem sistemática1. Definição de metas e do sistema2. Lista de serviços e suas saídas3. Escolha das métricas de desempenho4. Lista de parâmetros5. Seleção de fatores e níveis
  15. 15. Abordagem sistemática6. Seleção da técnica de avaliação7. Seleção da carga de trabalho8. Projeto dos experimentos9. Análise e interpretação dos dados10. Apresentação dos resultados(iterar se necessário)
  16. 16. Definição de metas e do sistemaSistema testado x componente testadoDefinição de sistema depende da metaDefinições de métricas e carga de trabalho dependem dadefinição do sistemaCasoSistema: RiakMeta: Análise de dois modelos de consistência diferentesoperando em uma WAN
  17. 17. Lista de serviços e suas saídasO que o sistema realiza e resultados possíveisCasoCRUD: Resposta consistente, inconsistente, erroMap/Reduce: ...Monitoração: ...etc
  18. 18. Escolha de métricas de desempenhoMétrica: critério de análise de desempenho (variáveis deresposta)Em geral relativas a velocidade, acurácia e disponibilidadeCasoTempo de respostaQuantidade de conflitos
  19. 19. Lista de parâmetrosParâmetros: características que afetam o desempenhoSistema: hardware e softwareCarga de trabalho: requisiçõesCasoConfiguração dos nósMecanismo de armazenamento - memória ou discoQuantidade de nós do sistemaQuantidade de objetos armazenadosTamanho dos objetos armazenados
  20. 20. Lista de parâmetrosCasoQuantidade de enlaces de WANLatências da LAN / WANJitters da LAN / WANLarguras de banda da LAN / WANRelação leitura / escritaLocalidade de acessosetc
  21. 21. Seleção de fatores e níveisFatores: variáveis dependentes (parâmetros variados)Níveis: valores dos fatoresInteração entre fatoresLimitados porTempo / recursosComplexidade da análise de resultadosParâmetros fixados: aqueles que não são fatores
  22. 22. Seleção de fatores e seus valoresCaso33 parâmetros, 4 fatoresPrincipal limitação: infraestrutura
  23. 23. Seleção da técnica de avaliaçãoPrincipais: Modelagem analítica, simulação e mediçãoCritérios de seleçãoEstágio de desenvolvimento do sistemaTempo necessárioFerramentasAcuráciaAvaliação de custo-benefícioCustoVenda dos resultadosCasoMedição
  24. 24. Seleção da carga de trabalhoLista de requisições para o sistemaDeve ser representativa do caso de uso do sistemaBenchmark: define condições de comparaçãoCasoBenchmark (Basho Bench)Relação leitura/escritaLocalidadePopularidade dos objetos
  25. 25. Projeto dos experimentosDefinido por custo / benefícioDuas fasesSeleção de fatores significativosEstudo finalExperimentos fatoriaisCompleto (qtde exp = (i = 1, k) ni) x fracionado2k(qtde exp = 2k)Com / sem replicação
  26. 26. Projeto dos experimentosOperação L J P D O C LJ ... LJPDOCleitura 72 21 1 0 0 0 6 ... 0escrita 69 23 1 0 0 0 6 ... 0Influência relativa dos fatores de redeL: LatênciaJ: JitterP: Perda de pacotesD: Duplicação de pacotesO: Reordenação de pacotesC: Variante do TCPCaso
  27. 27. Projeto dos experimentosCaso1a tentativa (sem método)420 exps, 24h, 5 fatoresSem análise de importância dos fatores (qualidade baixa)2a tentativa (com método)64 exps, 6.5h, 4 fatoresCom análise de importância dos fatores (qualidade alta)
  28. 28. Análise e interpretação dos dadosResultados, não conclusõesEstatísticaMédia, mediana, modaDistribuiçõesDesvio padrão, erro padrãoIntervalo de confiançaTamanho da amostraetcAmeaças à validade
  29. 29. Análise e interpretação dos dadosCasoAnálisesTempos de respostaConflitosMigraçõesTratamento estatístico99% de confiança1% de exatidãoTamanho de amostra variável1 replicações (com teste)
  30. 30. Análise e interpretação dos dadosCasoAmeaças à validadeParâmetros fixadosSistema operando sem falhasArquitetura do sistemaErro: médias de tempos de resposta muito diferentes10 reqs 300 ms (remotas)10 reqs 1 ms (locais)média = 150.5 msMédia é 150x maior que mínimo e metade do máximo
  31. 31. Apresentação dos resultadosConsiderar a audiênciaMais tabelas e gráficos, menos jargão estatísticoVariáveis quantitativas x categóricas
  32. 32. Apresentação dos resultadosCaso
  33. 33. Apresentação dos resultadosCaso
  34. 34. Apresentação dos resultadosCasoGanhos relativos com relação a ind2Percentil Localidade (%) lt_qqer lt_rec75 50 0.87 1.075 90 92 9790 50 0.77 1.390 90 1.4 1.6
  35. 35. Erros comunsFalta de métodoCarga de trabalho não representativaIgnorar parâmetros / fatores relevantesAnálise muito complexaIgnorar aspectos sociaisOmitir premissas e limitaçõesMédias de valores muito diferentes
  36. 36. ProjetoFaça uma análise de desempenho de um sistema a suaescolha.SugestõesAnálise de desempenho de algoritmos de ordenação ouestruturas de dadosEm Ruby: https://github.com/kanwei/algorithmsAnálise de desempenho de discoBenchmark: Bonnie++Análise de aplicação / servidor WebBenchmark: ab, JMeter, etc
  37. 37. ReferênciasThe Art of Computer Systems Performance Analysis:Techniques for Experimental Design, Measurement,Simulation, and Modeling (Jain, Raj)Measuring Computer Performance: A Practitioners Guide(Lilja, David)Guerrilla Capacity Planning: A Tactical Approach to Planningfor Highly Scalable Applications and Services (Gunther, Neil)The Art of Capacity Planning: Scaling Web Resources(Allspaw, John)

×