Avaliação de Desempenho Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Avaliação de Desempenho Marcos José Santana Regina Helena Carlucci Santana Junho - 2009
Avaliação de Desempenho O que vem a ser isso? Quando se preocupar com o desempenho? Por quê se preocupar com isso? Como medir o desempenho? Que técnicas utilizar? O que medir? Como confiar nas métricas obtidas? Quem deve se preocupar com a avaliação?
Avaliação de Desempenho O que vem a ser isso? Quando se preocupar com o desempenho? Por quê se preocupar com isso? Como medir o desempenho? Que técnicas utilizar? O que medir? Como confiar nas métricas obtidas? Quem deve se preocupar com a avaliação?
O que vem a ser Avaliação de Desempenho? Avaliar um sistema (computacional ou não) buscar uma métrica que indique quantidade ou qualidade, por exemplo, de um serviço prestado; Determinar a eficiência com a qual um sistema atinge seus objetivos
Avaliação de Desempenho exemplo 1: uma montadora de automóveis número de carros produzidos em 1 hora; qualidade dos carros produzidos; lucro obtido por carro fabricado; quantidade de quilômetros por litro de combustível; tempo necessário para acelerar o carro de 0 a 100 km; etc.
Avaliação de Desempenho exemplo 2: um sistema computacional tempo de resposta experimentado por um usuário; sobrecarga do escalonador de processos; taxa de utilização do processador; taxa de acerto da memória cache; taxa de acerto do cache do disco; sobrecarga das rotinas de redundância em disco; etc.
Avaliação de Desempenho exemplo 3: uma impressora jato de tinta qualidade de impressão; velocidade de impressão no modo texto; velocidade de impressão no modo gráfico; relação custo/benefício; capacidade de armazenamento local (buffer interno); velocidade de comunicação (linha serial/paralela); duração de um cartucho de tinta; etc
Avaliação de Desempenho O que vem a ser isso? Quando se preocupar com o desempenho? Por quê se preocupar com isso? Como medir o desempenho? Que técnicas utilizar? O que medir? Como confiar nas métricas obtidas? Quem deve se preocupar com a avaliação?
Avaliação de Desempenho Quando se preocupar com a avaliação de desempenho? Usuário reclamando Troca de sistema Comparação entre sistemas Avaliação de um projeto
Avaliação de Desempenho O que vem a ser isso? Quando se preocupar com o desempenho? Por quê se preocupar com isso? Como medir o desempenho? Que técnicas utilizar? O que medir? Como confiar nas métricas obtidas? Quem deve se preocupar com a avaliação?
Avaliação de Desempenho Por quê se preocupar com isso? Por quê saber qual a temperatura no final de semana? A avaliação da temperatura é importante para planejar!
Por quê se preocupar com Avaliação de Desempenho? Suponha que você tenha um sistema que apresenta problemas de desempenho – usuários reclamando!! É disponibilizada verba para fazer um upgrade de um sistema. Mais memória CPU mais rápida Aumentar memória virtual Processadores adicionais Mais unidades de disco RAID Nova configuração O que fazer? Importante realizar uma avaliação do sistema, das aplicações, etc.
Por quê se preocupar com Avaliação de Desempenho? Banco de Dados Se eu tenho n clientes e quero expandir meu negócio para 2*n clientes meu sistema vai agüentar? Quanto devo investir no sistema para poder expandir sem degradar o sistema? E se a quantidade de informação no meu banco de dados mudar?
Avaliação do MySQL Alguns Resultados.... Trabalho desenvolvido por alunos do Curso de Bach em Ciências da Computação
Por quê se preocupar com Avaliação de Desempenho? Sistema Operacional Suponha que os seguintes resultados foram obtidos durante medidas em um sistema operacional.... Projeto desenvolvido por uma empresa de Consultoria
Por quê se preocupar com Avaliação de Desempenho? Sistema Operacional Suponha que os seguintes resultados foram obtidos durante medidas em um sistema operacional.... Projeto desenvolvido por uma empresa de Consultoria
Por quê se preocupar com Avaliação de Desempenho? Sistema Operacional Suponha que os seguintes resultados foram obtidos durante medidas em um sistema operacional.... Projeto desenvolvido por uma empresa de Consultoria
Por quê se preocupar com Avaliação de Desempenho? Sistema Operacional Suponha que os seguintes resultados foram obtidos durante medidas em um sistema operacional.... O que fazer com esses resultados? Como analisar ?
Por quê se preocupar com Avaliação de Desempenho? Banco de Dados Tenho um sistema com dois tipos de discos: 10K RPM 15K RPM Identificar os possíveis ganhos de desempenho com a migração de todos os discos atuais de 10K RPM para 15K RPM Analisar os ganhos de desempenho ao ambiente do sistema pela adição de novos discos (3TB), sendo estes de 10K RPM ou 15K RPM Projeto desenvolvido por uma empresa de Consultoria
Por quê se preocupar com Avaliação de Desempenho? Banco de Dados
Por quê se preocupar com Avaliação de Desempenho? Banco de Dados Identificar os possíveis ganhos de desempenho com a migração de todos os discos atuais de 10K RPM para 15K RPM Resultado geral = Ganho de apenas 0,65% Conclusão: A migração de discos de 10 para 15K RPM não trará ganhos significativos (o ganho é muito pequeno para o trabalho/custo da migração)
Por quê se preocupar com Avaliação de Desempenho? Banco de Dados 2. Analisar os ganhos de desempenho ao ambiente do sistema pela adição de novos discos (3TB), sendo estes de 10K RPM ou 15K RPM Por conta desse volume de I/O existente (KB/s) recomendamos a utilização de discos de 10K RPM para a montagem dos novos filesystems para o SISTEMA-B, visto o throughput real é 3 ordens de grandeza menor do que o disco pode suportar.
Avaliação de Desempenho Por quê se preocupar em avaliar um sistema? Obter o melhor desempenho possível a um menor custo. O que é “melhor desempenho possível”? O que deve ser analisado? Depende do ponto de vista
Avaliação de Desempenho O que o sistema precisa? Qual é o tipo de usuário? Qual é o objetivo do sistema? Como se dá o gerenciamento de recursos?
Avaliação de Desempenho Precisamos saber responder.... O que o sistema precisa? Qual é o tipo de usuário? Qual é o objetivo do Sistema? Como se dá o gerenciamento de recursos? Para podermos avaliar o sistema e oferecer um melhor serviço
Exemplo Como avaliar um aquário?
Avaliação de Desempenho O que vem a ser isso? Quando se preocupar com o desempenho? Por quê se preocupar com isso? Como medir o desempenho? Que técnicas utilizar? O que medir? Como confiar nas métricas obtidas? Quem deve se preocupar com a avaliação?
Técnicas para Avaliação de Desempenho Como medir o desempenho? Como escolher a técnica mais adequada? Deve deixar a análise isenta Não deve ser um fator degenerador Deve considerar o domínio da aplicação Intrusões em sistemas já estabelecidos nem sempre são bem-vindas
Avaliação de Desempenho Técnicas e Ferramentas cada domínio tem seu instrumental próprio ferramentas variam de acordo com o domínio e a técnica: avaliar o desempenho de um automóvel é diferente do caso de uma impressora, ou de um servidor de arquivos; mas a essência da técnica pode ser a mesma: por exemplo modelagem, com solução analítica
Técnicas para Avaliação de Desempenho Técnicas de Modelagem
Técnicas para Avaliação de Desempenho Técnicas de Aferição
Avaliação de Desempenho O que vem a ser isso? Quando se preocupar com o desempenho? Por quê se preocupar com isso? Como medir o desempenho? Que técnicas utilizar? O que medir? Como confiar nas métricas obtidas? Quem deve se preocupar com a avaliação?
Avaliação de Desempenho O que medir? Ter informação o mais fiel possível sobre o comportamento de um sistema e com isso poder melhorar seu desempenho Depende do que é melhorar o desempenho
Avaliação de Desempenho Exemplo Aeronave Washington a Paris 6.5 horas 3 horas Velocidade 610 mph 1350 mph Boeing 747 Fastest for 1 person? Which takes less time to transport 470 passengers? BAD/Sud Concorde
Avaliação de Desempenho Exemplo Aeronave Boeing 747 BAD/Sud Concorde Velocidade 610 mph 1350 mph Washington a Paris 6.5 horas 3 horas Passageiros 470 132 Throughput (pmph) 286,700 178,200 Fastest for 1 person? Which takes less time to transport 470 passengers?
Avaliação de Desempenho O que vem a ser isso? Quando se preocupar com o desempenho? Por quê se preocupar com isso? Como medir o desempenho? Que técnicas utilizar? O que medir? Como confiar nas métricas obtidas? Quem deve se preocupar com a avaliação?
Avaliação de Desempenho Como confiar nas métricas obtidas? Avaliação e Análise se a avaliação do automóvel levou a 20 Km/litro de gasolina, então a análise se preocupa em se certificar que: a metodologia utilizada foi correta; que os números levantados são suficientemente precisos; e, então, conclui se o desempenho avaliado é bom, ruim, etc.
Avaliação de Desempenho O que vem a ser isso? Quando se preocupar com o desempenho? Como medir o desempenho? Que técnicas utilizar? O que medir? Como confiar nas métricas obtidas? Por quê se preocupar com isso? Quem deve se preocupar com a avaliação?
Avaliação de Desempenho Quem deve se preocupar com a avaliação de desempenho? cada domínio implica em um profissional exemplo: sistemas computacionais: analista de sistemas; gerente de sistemas; engenheiro de sistemas; projetista de hardware ou software; programador; etc. Vocês!!!!
Avaliação de Desempenho Disciplinas que devem preparar vocês para essa tarefa Cálculos Estatística Avaliação de Desempenho de Sistemas Computacionais Ênfases