Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto de...
Transcript of Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto de...
Marcos José SantanaRegina Helena Carlucci
Santana
Universidade de São PauloInstituto de Ciências Matemáticas e de
ComputaçãoDepartamento de Sistemas de Computação
Junho - 2010
Informação Profissional em Engenharia da Comp. II
Avaliação de Desempenho
Avaliação de Desempenho
O que vem a ser isso?
Exemplos
Forma de medir até que ponto determinados objetivos foram
atingidos
Máquinas
Professores
Impressora
Artistas
Dança dos Famosos
Alunos
Avaliação de Desempenho
Como????
Alunos
Provas!!!
Visão do Aluno
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
AlunosO 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
Aeronave
Boeing 747
BAD/Sud Concorde
Velocidade
610 mph
1350 mph
Washington a Paris
6.5 horas
3 horas
ExemplExemploo
Avaliação de Desempenho
Passageiros
470
132
Throughput (pmph)
286,700
178,200
Aeronave
Boeing 747
BAD/Sud Concorde
Velocidade
610 mph
1350 mph
Washington a Paris
6.5 horas
3 horas
ExemplExemploo
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 Por quê saber qual a temperatura no final de semana?semana?
A avaliação da temperatura é
importante para planejar!
Por quê Avaliar Desempenho?
1. Suponha que você tenha um sistema que apresenta problemas de desempenho – usuários reclamando!!
2. É disponibilizada verba para fazer um upgrade de um sistema.
Mais memóriaCPU mais rápidaAumentar memória virtualProcessadores adicionaisMais unidades de discoNova configuração
O que fazer?
Importante realizar uma avaliação do
sistema, das aplicações, etc.
Por quê Avaliar Desempenho?
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? meu sistema vai agüentar? Quanto devo investir no sistema para
poder expandir sem degradar o sistema?
Banco de Dados
Avaliação do MySQLAlguns Resultados....
Trabalho desenvolvido por alunos do Curso de Bach em Ciências da
Computação
Por quê Avaliar Desempenho?
Tenho um sistema com dois tipos de discos:
10K RPM 15K RPM
Banco de Dados
1. Identificar os possíveis ganhos de desempenho com a migração de todos os discos atuais de 10K RPM para 15K RPM
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
Projeto desenvolvido por uma empresa de Consultoria
Banco de Dados
Por quê Avaliar Desempenho?
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)
Banco de Dados1. Identificar os possíveis ganhos de desempenho com a
migração de todos os discos atuais de 10K RPM para 15K RPM
Por quê Avaliar Desempenho?
Por quê Avaliar Desempenho?
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.
Banco de Dados2. Analisar os ganhos de desempenho ao ambiente do
sistema pela adição de novos discos (3TB), sendo estes de 10K RPM ou 15K RPM
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
Aquário
Avaliação de Desempenho
Etapas1. 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
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
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 para Avaliação de Desempenho
Técnicas de Avaliação de Desempenho
Sistema Medições Dados
Protótipos
Benchmarcks
Coleta de Dados
Aferição
Rede de Filas
Redes de Petri
Statecharts
Modelagem
Simulação
Analítica
Aferição
Técnicas de Avaliação de Desempenho
Modelo SoluçãoMétodos Analíticos
Simulação
Sistema
Protótipos
Benchmarcks
Coleta de Dados
Aferição
Rede de Filas
Redes de Petri
Statecharts
Modelagem
Simulação
Analítica
Modelagem
Avaliação de Desempenho
Etapas1. 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
O que vocês acham de um banco em dia de pagamento?
Mais um ponto deve ser considerado....
Filas longas... Muita espera
Desempenho ruim...
Avaliação de Desempenho
E o mesmo banco alguns dias antes do pagamento?
Mais um ponto deve ser considerado....
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
Avaliação de Desempenho
“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
Etapas1. 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?
Suponha que os seguintes resultados foram obtidos durante medidas em um sistema operacional....
Sistema Operacional
Memória - Janeiro/2008
0
10
20
30
40
50
60
70
80
90
100
doming
o
segu
nda-fe
ira
quar
ta-fe
ira
quinta
-feira
sexta
-feira
Pa
gin
aç
ão
(K
pa
ge
s/s
)
0
10
20
30
40
50
60
70
80
90
100
Me
mó
ria
Uti
liza
da
(%
)
% memória utilizada page in page out % swap utilizado
Projeto desenvolvido por uma
empresa de Consultoria
Suponha que os seguintes resultados foram obtidos durante medidas em um sistema operacional....
Sistema Operacional
I/O - Janeiro/2008
0
20
40
60
80
100
120
140
160
180
200
dom
ingo
segu
nda-
feira
quar
ta-fe
ira
quin
ta-fe
ira
sexta
-feira
Leituras (MB/s) Escritas (MB/s) IOPS (x1000)
Projeto desenvolvido por uma
empresa de Consultoria
Por quê Avaliar Desempenho?
Por quê se preocupar com Avaliação de
Desempenho?
Suponha que os seguintes resultados foram obtidos durante medidas em um sistema operacional....
Sistema Operacional
CPU - Janeiro/2008
0
10
20
30
40
50
60
70
80
90
100
dom
ingo
segu
nda-
feira
quar
ta-fe
ira
quin
ta-fe
ira
sexta
-feira
% U
tiliz
ação
CP
U
0
5
10
15
20
25
30
Qtd
e. d
e P
roce
sso
na
Fila
de
Exe
cuçã
o
% user % sys % w ait for IO Fila de Execução
Projeto desenvolvido por uma
empresa de Consultoria
Por quê se preocupar com Avaliação de
Desempenho?
Suponha que os seguintes resultados foram obtidos durante medidas em um sistema operacional....
Sistema Operacional
CPU - Janeiro/2008
0
10
20
30
40
50
60
70
80
90
100
dom
ingo
segu
nda-
feira
quar
ta-fe
ira
quin
ta-fe
ira
sexta
-feira
% U
tiliz
ação
CP
U
0
5
10
15
20
25
30
Qtd
e. d
e P
roce
sso
na
Fila
de
Exe
cuçã
o
% user % sys % w ait for IO Fila de Execução
Memória - Janeiro/2008
0
10
20
30
40
50
60
70
80
90
100
doming
o
segu
nda-fe
ira
quar
ta-fe
ira
quinta
-feira
sexta
-feira
Pa
gin
aç
ão
(K
pa
ge
s/s
)
0
10
20
30
40
50
60
70
80
90
100
Me
mó
ria
Uti
liza
da
(%
)
% memória utilizada page in page out % swap utilizado
I/O - Janeiro/2008
0
20
40
60
80
100
120
140
160
180
200
dom
ingo
segu
nda-
feira
quar
ta-fe
ira
quin
ta-fe
ira
sexta
-feira
Leituras (MB/s) Escritas (MB/s) IOPS (x1000)
O que fazer com esses resultados?
Como analisar ?
Avaliação de Desempenho
Etapas1. 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
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
Avaliação de Desempenho
Etapas1. 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
Etapas1. 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