Upload
internet
View
112
Download
1
Embed Size (px)
Citation preview
Avaliação de Desempenho
Universidade de São PauloInstituto de Ciências Matemáticas e de Computação
Departamento de Sistemas de Computação
Sarita Mazzini Bruschi
Slides de:Marcos José Santana
Regina Helena Carlucci Santana
Aferição de Sistemas Computacionais
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
2
Monitores
Técnicas de Avaliação de Desempenho
Benchmarks
Protótipos
Aferição
Rede de Filas
Redes de Petri
Statecharts
ModelagemAferição
3
Técnicas de Aferição
• Coleta de Dados
Ferramenta para observar as atividades de um sistema coletando as
características relevantes para a análise do sistema
Ferramenta = Monitor
4
Monitores
Avaliar o Desempenho e Identificar Pontos Críticos
Objetivos: Determinar partes mais utilizadas Determinar gargalos Ajustar Parâmetros Caracterizar Carga de Trabalho Determinar Parâmetros para modelos
5
Monitores
oferece os melhores resultados;
problema central interfere com o sistema e o sistema TEM de existir!
Dois tipos básicos de abordagens: Monitores de Software e de Hardware.
6
Componentes de um Monitor
Observador
Coletor
Analisador
Apresentação
Interpretação
Console
Gerenciamento
7
Componentes de um Monitor1. Observador
• Obtém Dados do Sistema• Espião – observa as atividades do sistema
Ex. Escuta em uma rede
• Instrumentação - incorpora pontos de prova, traces ou contadores
Sobrecarga no sistema
Ex. Determinar tempo para enviar mensagem
• Teste – inclui usuário para monitorar sistemaEx. Envia mensagens para monitorar filas
• Sistema pode ter um ou mais observadores8
Componentes de um Monitor
2. Coletor Centraliza e Filtra os Dados Coletados Armazena dados obtidos e histórico dos
dados Sistema pode ter um ou mais coletores:
problemas de sincronismo e comunicação de dados
3. Analisador • Analisa os Dados Coletados• Considera análise estatística
9
Componentes de um Monitor
4. Apresentação dos Dados• Produz Gráficos, Relatórios, Alarmes, etc.• Oferece Interface Homem-Máquina
5. Interpretação• Analisa o significado dos Dados• Análise Inteligente
10
Componentes de um Monitor
6. Console• Controla parâmetros e estados do monitor ou
do Sistema• Nem sempre faz parte do Monitor
7. Gerenciamento Toma decisão sobre o que deve ser alterado
no sistema ou no monitor
11
MonitoresMonitores podem ser classificados seguindo
diferentes enfoques:
1. Forma de Ativação Mecanismo de Disparo
2. Forma de Obtenção dos dadosMecanismo de Coleta dos Dados
Mecanismo Visualização dos Dados
Definição da Carga de Trabalho
3. Forma de ImplementaçãoHardware, Software, Firmware e Híbrido
12
MonitoresForma de Ativação - Mecanismo de Disparo
Define quando o monitor será ativado para coletar e gravar as informações
1.Baseado em EventoMudança de Estado no Sistema Ativa o Monitor
Exemplos: Chaveamento de Processos, Acesso a disco, Acesso a rede
2.Baseado em AmostragemO Monitor é Ativado em Intervalos de Tempo
FixosExemplo: a cada 1 seg o monitor verifica se a rede
está ocupada13
MonitoresMecanismo de Disparo
1. Baseado em EventoAssíncrono
Adequado para eventos raros – causa menor sobrecarga
2. Baseado em AmostragemSíncrono
Adequado para eventos freqüentes
Pode perder eventos
Período de amostragem deve ser adequadamente definidoLongo – perda de eventos
Curto – aumento de sobrecarga
14
MonitoresForma de Obtenção dos Dados - Mecanismo de
Coleta dos DadosDefine como os dados serão coletados
1. Coleta DiretaMétrica é retirada Diretamente do Sistema
Exemplos: Tempo de Resposta de um Disco
2. Coleta IndiretaMétrica é Obtida através de Relações de
dependência com outras métricas retiradas do sistema
Exemplo: Cálculo da Utilização de um Processador15
MonitoresForma de Obtenção dos Dados -
Mecanismo Visualização dos Dados
1. On-lineAnalisados e apresentados ao avaliador ao
mesmo tempo em que são coletados Exemplos: Avaliação do tráfego de uma rede
2. BatchDados são coletados, armazenados e depois
de terminada a coleta são analisadosExemplo: Tempo médio de resposta ou
utilização de um processador16
Monitores
Mecanismo Visualização dos Dados
1. On-lineNúmero pequeno de eventos
Avaliação Comportamental do Sistema
2. BatchGrande número de eventos
Avaliação de Desempenho, Confiabilidade ou da Segurança de um Sistema
17
MonitoresForma de Obtenção dos Dados - Definição
da Carga de Trabalho
1. Passiva
Coleta realizada com a operação normal do Sistema
2. Ativa
Coleta realizada com cargas controladas
Carga é gerada e injetada no sistema
18
MonitoresDefinição da Carga de Trabalho
1. Passiva• Resultados não podem ser reproduzidos
2. Ativa• Carga Controlada
• Mais limitada que a Passiva• Resultados não pode ser totalmente reproduzidos• Testes podem ser repetidos de forma similar
• Carga Sintética• Não real• Resultados podem facilmente ser reproduzidos
19
MonitoresForma de Implementação
Define o nível em que o monitor será implementado
1. Hardware
2. Software
3. Firmware
4. Híbrido
20
MonitoresForma de Implementação
Hardware
– monitor de hardware que é conectado com o sistema (observador silencioso)
– não interfere no funcionamento normal do sistema medido
– captura eventos rápidos
– apresenta dificuldades em fazer medidas em nível de software
– técnica cara21
MonitoresForma de Implementação
SoftwareVantagens: • generalidade • flexibilidade• para medidas em nível de programas
Desvantagens:• ele pode interferir com o funcionamento
normal do sistema• não captura eventos que ocorrem
rapidamente 22
MonitoresForma de Implementação - Exemplos
SoftwareRotina inserida nos protocolos de comunicação para medir o tempo gasto em uma transação em arquivos
Hardware
Hardware adicionado ao sistema para espionar e contabilizar o tempo gasto em uma transação em arquivos
23
MonitoresForma de Implementação
Firmware Implementado através da alteração de
micro-código do processador Implementação em hardware, de rotinas
de software através de MEF (Máquinas de Estado Finito)
Similar ao monitor de Software
24
MonitoresForma de Implementação
HíbridoVantagens: • esboça as vantagens de ambas técnicas de
monitoramento ( hardware e software)• flexível• seu domínio de aplicação sobrepõe as outras
técnicas• Desvantagens:
• sincronização pode causar interferência• difícil obtenção de programas ou medidas
em nível de S.O.• caro
25
Comparação entre monitores de Software e Hardware
Critério Hardware Software
Domínio Eventos de Hardware Eventos de SO e Software
Taxa de Entrada Alta (105 / Seg) Depende do proc.
Resolução Nanosegundos Milisegundos
Conhecimento Necessário
Hardwarre Software
Capacidade de Armazenamento
Limitada pelo armazenamento disp.
Limitada pela sobrecarga
Largura de Entrada
Obtém vários dados simultâneos
Único processador – um evento
26
Comparação entre monitores de Software e Hardware
Critério Hardware Software
Sobrecarga Nenhuma Variável - <5%
Portabilidade Grande Média
Erros Mais fácil de ocorrer
Raro
Custo Alto Baixo
Disponibilidade Grande– mesmo com crash
Para durante crash
Flexibilidade Baixa Alta27
Coleta de Dados
Monitores de Software:
Gerais e Flexíveis Produzem interferência no sistema Informações possíveis de serem obtidas:
Nível de aplicação Sistema operacional
28
Coleta de Dados
Monitores de Hardware:
Eficientes Menos invasivos Problemas: custo e complexidade
29
Monitores - Exemplo
Ganglia
Monitor para clusters e grids
Métricas e forma de coleta configuráveis
Pode ser baseado em evento ou amostragem
Em uso por mais de 500 clusters
Possui um núcleo + ferramentas auxiliares
30
Monitores - Ganglia
Núcleo:
deamon que deve estar em todos os nós do cluster
responsável por coletar infos dos nós
Ferramentas:
Gmetric – permite adicionar métricas durante monitoração
Gmetad – armazenar infos coletadas
Diversas outras
31
Monitores - Ganglia
Propagação da info coletada é feita por multicast
Infos enviadas em um documento XML
Infos armazenadas em um banco de dados RRD (Round Robin Database)
Utiliza XDR para transporte dos dados
32
Coleta de Dadosselecionar a métrica e a
granularidade de tempo
métricas globais de um cluster
visualização dos estados de cada nó
33
• Linux (Ubuntu)
34
Monitores
34
Linux
• Coleta de Informações no diretório /proc
• Vários sub-diretórios
35
Fonte: Mestrado de William Voorsluys – ICMC- USP, 2006
Monitores /proc
35
36Fonte: Mestrado de William Voorsluys – ICMC- USP, 2006
Monitores /proc
36
Monitores
Concluindo....
• Podem gerar resultados bastante confiáveis.• O sistema deve existir e estar disponível.• Cuidado com a interferência do Monitor nos
resultados• Dois tipos básicos de abordagens:
Monitores de Software e de Hardware.
37
Técnicas - Aferição
Concluindo....
• Protótipos – Sistema não existe– Fase de Projeto– Avaliar comportamento ou desempenho
• Monitores– Avaliação de sistemas existentes – real ou
protótipo 38
Técnicas de Aferição
• Construção de Protótipos– Sistema em Projeto
• Benchmarks– Comparação entre Sistemas– Avaliar partes específicas de um
Sistema
• Monitores ou Coleta de Dados– Avaliar um Sistema ou partes dele
39
Técnicas de Aferição
40