Análise de desempenho
Upcoming SlideShare
Loading in...5
×
 

Análise de desempenho

on

  • 388 views

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

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

Statistics

Views

Total Views
388
Views on SlideShare
388
Embed Views
0

Actions

Likes
0
Downloads
6
Comments
0

0 Embeds 0

No embeds

Accessibility

Categories

Upload Details

Uploaded via as Adobe PDF

Usage Rights

CC Attribution License

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
    Processing…
Post Comment
Edit your comment

Análise de desempenho Análise de desempenho Presentation Transcript

  • MAC5779Análise de DesempenhoMauricio De Dianamdediana@ime.usp.br
  • Desempenho de sistemasQuantidade de trabalho x tempo e / ou recursosExemplos:Tempo de respostaVazãoUtilizaçãoConsumo de bandaConsumo de energiaAfetaCustoEscalabilidadeFuncionalidadeetc
  • 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) View slide
  • A arte da análise de desempenho View slide
  • A arte da avaliação de desempenhoSistema Carga de trabalho 1 Carga de trabalho 2A 20 10B 10 20
  • 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)
  • 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
  • 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
  • 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
  • Replicação - cenário 1
  • Replicação - cenário 2Fonte: http://www.julianbrowne.com/article/viewer/brewers-cap-theorem
  • 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
  • Limitações na análise de desempenhoRecursos disponíveisTempoHardwareSoftwarePessoasCusto, em resumoCasoAcesso à plataforma para experimentos e suas regras
  • 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
  • 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)
  • 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
  • Lista de serviços e suas saídasO que o sistema realiza e resultados possíveisCasoCRUD: Resposta consistente, inconsistente, erroMap/Reduce: ...Monitoração: ...etc
  • 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
  • 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
  • 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
  • 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
  • Seleção de fatores e seus valoresCaso33 parâmetros, 4 fatoresPrincipal limitação: infraestrutura
  • 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
  • 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
  • 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
  • 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
  • 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)
  • 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
  • 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)
  • 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
  • Apresentação dos resultadosConsiderar a audiênciaMais tabelas e gráficos, menos jargão estatísticoVariáveis quantitativas x categóricas
  • Apresentação dos resultadosCaso
  • Apresentação dos resultadosCaso
  • 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
  • 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
  • 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
  • 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)