Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto de Ciências Matemáticas e de Computação Departamento de Sistemas de Computação Informação Profissional em Engenharia da Comp. II Avaliação de Desempenho Marcos José Santana Regina Helena Carlucci Santana Junho - 2010
Avaliação de Desempenho O que vem a ser isso? Forma de medir até que ponto determinados objetivos foram atingidos Exemplos Dança dos Famosos Impressora Máquinas Alunos Professores Artistas
Avaliação de Desempenho Como???? Provas!!! Visão do Aluno Alunos Visão do Professor Visão do Coordenador
Avaliação de Desempenho Avaliação de Desempenho depende Do que se espera do sistema Do objetivo De quem está realizando Alunos O mesmo sistema pode ser avaliado de diferentes formas
Avaliação de Desempenho Etapas 1. Estudar o sistema e definir os objetivos 2. Determinar os serviços oferecidos pelo sistema
O que vem a ser Avaliação de Desempenho? Avaliar um sistema (computacional ou não) Determinar a eficiência com a qual um sistema atinge seus objetivos Buscar uma métrica que indique quantidade ou qualidade, por exemplo, de um serviço prestado;
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 medir? Quero ter informação sobre o comportamento de um sistema e com isso poder melhorar seu desempenho Depende do que é melhorar o desempenho Métrica depende do Objetivo
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?
Exemplo Como avaliar um aquário?
Avaliação de Desempenho Etapas 1. Estudar o sistema e definir os objetivos 2. Determinar os serviços oferecidos pelo sistema 3. Selecionar métricas de 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 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ê Avaliar 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 Nova configuração O que fazer? Importante realizar uma avaliação do sistema, das aplicações, etc.
Por quê Avaliar 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ê Avaliar 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ê Avaliar Desempenho? Banco de Dados
Por quê Avaliar 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ê Avaliar 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.
Aquário Métricas: Tempo para a cerveja atingir a temperatura desejada Número de cervejas que atingem a temperatura desejada por hora
Aquário Fatores: Tamanho do aquário Quantidade de cervejas Quantidade de gelo Espessura do vidro Temperatura inicial da cerveja
Avaliação de Desempenho Etapas 1. Estudar o sistema e definir os objetivos 2. Determinar os serviços oferecidos pelo sistema 3. Selecionar métricas de avaliação 4. Determinar os parâmetros que afetam o desempenho do sistema 5. Determinar o nível de detalhamento da análise
Avaliação de Desempenho Como medir o desempenho? Qual técnica deve ser utilizada? 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
Técnicas para Avaliação de Desempenho 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 de Avaliação de Desempenho Protótipos Benchmarcks Coleta de Dados Aferição Rede de Filas Redes de Petri Statecharts Modelagem Simulação Analítica Aferição Sistema Medições Dados
Técnicas de Avaliação de Desempenho Protótipos Benchmarcks Coleta de Dados Aferição Rede de Filas Redes de Petri Statecharts Modelagem Simulação Analítica Modelagem Modelo Solução Métodos Analíticos Simulação Sistema
Avaliação de Desempenho Etapas 1. Estudar o sistema e definir os objetivos 2. Determinar os serviços oferecidos pelo sistema 3. Selecionar métricas de avaliação 4. Determinar os parâmetros que afetam o desempenho do sistema 5. Determinar o nível de detalhamento da análise 6. Determinar a Técnica de Avaliação apropriada
Avaliação de Desempenho Mais um ponto deve ser considerado.... O que vocês acham de um banco em dia de pagamento? Filas longas... Muita espera Desempenho ruim...
Avaliação de Desempenho Mais um ponto deve ser considerado.... E o mesmo banco alguns dias antes do pagamento? Filas curtas... Rapidez.... Atenção... Desempenho ótimo... Mas o mesmo sistema pode ter desempenho ótimo/ruim?
Avaliação de Desempenho Mais um ponto deve ser considerado.... Carga de trabalho imposta ao sistema “Conjunto de todas as informações de entrada que um sistema recebe durante um período de tempo determinado” [MENASCÉ, ALMEIDA, 2003]
Avaliação de Desempenho Etapas 1. Estudar o sistema e definir os objetivos 2. Determinar os serviços oferecidos pelo sistema 3. Selecionar métricas de avaliação 4. Determinar os parâmetros que afetam o desempenho do sistema 5. Determinar o nível de detalhamento da análise 6. Determinar a Técnica de Avaliação apropriada 7. Determinar a carga de trabalho característica 8. Realizar a avaliação e obter os resultados
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ê Avaliar 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 ?
Avaliação de Desempenho Etapas 1. Estudar o sistema e definir os objetivos 2. Determinar os serviços oferecidos pelo sistema 3. Selecionar métricas de avaliação 4. Determinar os parâmetros que afetam o desempenho do sistema 5. Determinar o nível de detalhamento da análise 6. Determinar a Técnica de Avaliação apropriada 7. Determinar a carga de trabalho característica 8. Realizar a avaliação e obter os resultados 9. Analisar e interpretar os resultados
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 Organizar Resultados
Avaliação de Desempenho Pensar na melhor forma de apresentar os dados Tabelas são ótimas para observar detalhes e valores precisos Gráficos são adequados para melhor visualizar os resultados
Avaliação de Desempenho Etapas 1. Estudar o sistema e definir os objetivos 2. Determinar os serviços oferecidos pelo sistema 3. Selecionar métricas de avaliação 4. Determinar os parâmetros que afetam o desempenho do sistema 5. Determinar o nível de detalhamento da análise 6. Determinar a Técnica de Avaliação apropriada 7. Determinar a carga de trabalho característica 8. Realizar a avaliação e obter os resultados 9. Analisar e interpretar os resultados 10. Apresentar os resultados
Avaliação de Desempenho Etapas 1. Estudar o sistema e definir os objetivos 2. Determinar os serviços oferecidos pelo sistema 3. Selecionar métricas de avaliação 4. Determinar os parâmetros que afetam o desempenho do sistema 5. Determinar o nível de detalhamento da análise 6. Determinar a Técnica de Avaliação apropriada 7. Determinar a carga de trabalho característica 8. Realizar a avaliação e obter os resultados 9. Analisar e interpretar os resultados 10. Apresentar os resultados
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