Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto de...

46
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 Junho - 2010 Informação Profissional em Engenharia da Comp. II Avaliação de Desempenho

Transcript of Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto de...

Page 1: 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.

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

Page 2: 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.

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

Page 3: 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.

Avaliação de Desempenho

Como????

Alunos

Provas!!!

Visão do Aluno

Visão do Professor

Visão do Coordenador

Page 4: 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.

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

Page 5: 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.

Avaliação de Desempenho

Etapas

1.  Estudar o sistema e definir os objetivos

2.  Determinar os serviços oferecidos pelo sistema

Page 6: 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.

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;

Page 7: 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.

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.

Page 8: 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.

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.

Page 9: 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.

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

Page 10: 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.

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

Page 11: 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.

Avaliação de Desempenho

Aeronave

Boeing 747

BAD/Sud Concorde

Velocidade

610 mph

1350 mph

Washington a Paris

6.5 horas

3 horas

ExemplExemploo

Page 12: 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.

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

Page 13: 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.

Exemplo Como avaliar um aquário?

Page 14: 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.

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

Page 15: 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.

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

Page 16: 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.

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!

Page 17: 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.

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.

Page 18: 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.

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

Page 19: 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.

Avaliação do MySQLAlguns Resultados....

Trabalho desenvolvido por alunos do Curso de Bach em Ciências da

Computação

Page 20: 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.

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

Page 21: 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.

Banco de Dados

Por quê Avaliar Desempenho?

Page 22: 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.

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?

Page 23: 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.

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

Page 24: 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.

Métricas:

•Tempo para a cerveja atingir a temperatura desejada

•Número de cervejas que atingem a temperatura desejada por hora

Aquário

Page 25: 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.

Fatores:

•Tamanho do aquário

•Quantidade de cervejas

•Quantidade de gelo

•Espessura do vidro

•Temperatura inicial da cerveja

Aquário

Page 26: 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.

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

Page 27: 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.

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

Page 28: 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.

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

Page 29: 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.

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

Page 30: 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.

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

Page 31: 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.

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

Page 32: 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.

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

Page 33: 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.

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

Page 34: 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.

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]

Page 35: 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.

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

Page 36: 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.

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

ão

(K

pa

ge

s/s

)

0

10

20

30

40

50

60

70

80

90

100

Me

ria

Uti

liza

da

(%

)

% memória utilizada page in page out % swap utilizado

Projeto desenvolvido por uma

empresa de Consultoria

Page 37: 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.

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?

Page 38: 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.

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

Page 39: 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.

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

ão

(K

pa

ge

s/s

)

0

10

20

30

40

50

60

70

80

90

100

Me

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 ?

Page 40: 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.

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

Page 41: 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.

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.

Page 42: 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.

Avaliação de Desempenho

                                

Organizar Resultados

Page 43: 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.

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

Page 44: 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.

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

Page 45: 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.

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

Page 46: 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.

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