Avaliação de Desempenho
em Sistemas de Computação e
Comunicação
Magnos Martinello
Universidade Federal do Espírito Santo - UFES
Departamento de Informática - DI
Laboratório de Pesquisas em Redes Multimidia LPRM
UFES
Abordagem Sistemática para
Avaliação de Desempenho
•
Definir objetivos e escopo (sistema)
•
Listar serviços e saídas
•
Selecionar métricas de desempenho
•
Listar parâmetros
•
Selecionar fatores para estudo
•
Selecionar técnica de avaliação
•
Selecionar carga de trabalho
•
Projetar experimentos
•
Analisar e interpretar dados (resultados)
•
Magnos Martinello
Apresentar resultados
Objetivos e Escopo
•
•
•
Definir objetivos do estudo é essencial para
definir escopo
Definir escopo é chave para as demais
escolhas de métricas, cargas, técnica de
avaliação
Exemplos: Dadas 2 CPUs
–
Objetivo 1: estimar impacto no tempo de resposta
de usuários interativos
• Escopo: sistema de timesharing, resultado
depende de outros fatores externos a CPU
– Objetivo 2: CPU são similares com exceção da ALU
• Escopo: somente
componentes internos da CPU
Magnos Martinello
Métricas de Desempenho
•
Escolha específica para estudo, a partir da lista de
serviços e possíveis saídas
– Execução correta: desempenho, escalabilidade
•
–
–
tempo de resposta, taxa de processamento (serviço), utilização
de recursos
Execução incorreta: confiabilidade
•
identificação das classes de erros
•
probabilidade de cada tipo de erro,
erros
tempo entre
Não execução: disponibilidade
•
Identificação das possíveis causas
•
Uptime (% tempo disponível), prob. de downtime,
tempo entre falhas (MTTF = Mean
Time To Failure)
Magnos Martinello
Tempo de Resposta
•
Intervalo de tempo entre requisição do usuário e
a resposta do sistema
•
Definição do intervalo tem que ser clara:
– Inclui tempo entre momento que usuário
termina comando e sistema inicia execução?
– Inclui tempo entre início e término da geração
da resposta?
•
Pode conter vários componentes, com influência
de vários subsistemas e da carga durante
execução
•
Ex: time <programa> (Unix)
3.5 real
0.2 user
0.9 sys
Magnos Martinello
Slowdown
•
Causado por:
– operações de I/O (leituras, escritas, paginação)
– tempo de rede
– tempo gasto em outros programas
(escalonamento)
– contenção por recursos: filas dos recursos
Tempo de resposta = tempo de serviço + tempo
nas filas
TR = TS + TF
Slowdown = TF/TS : impacto do tempo de fila
Magnos Martinello
Taxa de Processamento
•
Ou taxa de serviço: quantidade de serviço
executado por unidade de tempo
(throughput)
•
Capacidade nominal: capacidade especificada
pelo fabricante
– Ethernet de 100 Mbps
– Disco com 40Mbps
•
Capacidade útil: throughput máximo
alcançável
– Ethernet 100:Magnos Martinello
70-80 Mbps
Tempo de Resposta xTaxa de
Serviço
nominal
Throughput
joelho
Carga
Tempo de
Resposta
Carga
Magnos Martinello
útil
Joelho da curva =
ponto ótimo de operação
Outras Métricas
•
Eficiência: capacidade útil / capacidade nominal
•
Utilização : % tempo que recurso está executando serviço
– Tempo ocioso (idle time)
•
Custo-benefício = custo / desempenho
– custo por taxa de serviço
– US$/consultas/s, US$/hits/s
•
Métricas específicas
– % Perda de pacotes, tamanho das rajadas de perdas
– Qualidade do sinal
Magnos Martinello
Escolha das Métricas
•
Incluir métricas para
–
•
Execução correta, incorreta e não execução
Avaliar
–
–
–
–
Média, mediana, percentis
Variância, coeficiente de variabilidade (CV)
Distribuições
Medidas individuais, agregadas, por classes
Magnos Martinello
Especificação de
Requisitos de Desempenho
•
Especificação deve ser precisa e realista
•
Problemas:
–
Falta de especificação numérica
o sistema deve ser eficiente
–
Métricas difíceis de avaliar
–
Especificação não realista
o sistema não deve produzir respostas com erros
Magnos Martinello
Especificação de
Requisitos de Desempenho
•
Especificação deve ser precisa e realista
•
Problemas:
–
Falta de especificação numérica
o sistema deve ser eficiente
–
Métricas difíceis de avaliar
–
Especificação não realista
o sistema não deve produzir respostas com erros
Magnos Martinello
Especificação de Requerimentos de
Desempenho
•
Como fazer:
1. Escolha um serviço S
2. Escolha uma métrica M
3. Escolha um valor máximo X para a métrica M
Opções:
1. média entre valores observados para M para o
serviço S deve ser menor que X: NÃO !
(variabilidade)
2. Y% (X grande) dos valores observados devem ser
menores do que X: SIM!!!
Magnos Martinello
Acordo de Nível de Serviço (SLA)
•
Exemplos:
–
–
•
RTT < 100 ms para conexões dentro dos EUA
Sistema deve estar disponível X% do tempo
X = 99%
7.2 horas/mês downtime
X = 99.9%
43 minutos/mês downtime
X = 99.999% 26 segundos/mês downtime
Exemplos de SLAs de disponibilidade (Os 5 9’s)
–
–
AT&T switches: 2hs de downtime em 40 anos
Cisco, HP, MS, Sun: garantem 99.999% de
disponibilidade (5 min /ano downtime)
Magnos Martinello
Disponibilidade
Custos Downtime (US$/hora)
• Brokerage operations
• Credit card
authorization
• Ebay (1 outage 22
hours)
• Amazon.com
• Package shipping
services
• Home shopping channel
$ 6,450,000
$2,600,000
$225,000
$180,000
$150,000
$113,000
$90,000
$89,000
$41,000
• Catalog sales center
$25,000
• Ailine reservation
$14,000
center
Fonte: InternetWeek 4/3/2000 + Fibre Channel: A Comprehensive Introduction,
Magnos Martinello
Kembel 2000,
p.8. “... Based
on a survey done by Contingency Planning Research
• R.Cellular
service
Parâmetros
•
Listar parâmetros que afetam desempenho
–
Parâmetros do sistema: software e hardware
•
–
Parâmetros de carga: usuário (imprevisível)
•
–
CPU, memória, disco, controladora, tamanho de buffer (cache),
políticas de escalonamento
Tamanho, tipo e frequência das requisições a serviços
Eliminar parâmetros redundantes e/ou normalizar
Ex: servidor de vídeo:
Taxa de chegada λ, Tamanho do arquivo T (minutos)
Impacto no sistema: N = λT
Não precisa variar λ e T isoladamente, mas
apenas o produto N
Magnos Martinello
Fatores
•
Parâmetros que vão variar no estudo
–
Variação = nível
–
Escolha: parâmetros com maior impacto e controlável
–
Começar com poucos parâmetros e níveis e estender a partir
da avaliação dos resultados
–
Preferível maior número de parâmetros e poucos níveis
•
Avaliação inicial do impacto relativo de cada um
•
Refinamentos posteriores
Magnos Martinello
Técnica de Avaliação
•
•
A escolha depende:
–
Escopo (aspectos gerais x detalhes) e estágio
–
Tempo e recursos disponíveis
–
Precisão desejada
Seja qual for a escolha:
–
Não acredite nos resultados de simulação até que
sejam validados por análises ou experimentos
–
Não acredite nos resultados de modelos analíticos
até que sejam validados por simulação ou
experimentos
–
Não acredite nos resultados de experimentos até
que sejam validados
por modelos analíticos ou
Magnos Martinello
Componentes do Tempo de
Resposta
Congestionamento
• Tempo de Serviço (não depende da carga)
• Congestiomanento ou Tempo de Espera em Fila (depende
da carga)
Magnos Martinello
Throughput (Vazão)
• Mede unidades de trabalho completadas por
tempo. Trata-se de uma medida de taxa.
– E/S por segundo
– Download de Páginas por segundo
– Requisições HTTP por segundo
– Tarefas/Jobs por segundo
– Transações por segundo (tps)
Magnos Martinello
Exemplo de Throughput
• Uma operação de E/S de um disco usando o sistema
de benchmark OLTP leva 10ms em média.
• 1 – Qual é a vazão (throughput) máxima do disco?
• 2 – Qual é a vazão (throughput) do disco se ele recebe
requisições de E/S a uma taxa de 80 requisições/seg?
A
1 = 100 requisição / seg
2 = 80 requisições / seg
B
1 = 10 requisições /seg
2 = 800 requisições /seg
C
1 = 100 requisições / seg
2 = 100 requisições / seg
D
1 = 1000 requisições / seg
2 = 80 requisições / seg
Magnos Martinello
Vazão vs Carga
VAZÃO
LINHA DE SATURAÇÃO DO SISTEMA (100% Util)
CARGA
THRASHING = O DESEMPENHO DEGRADA APÓS O SISTEMA ATINGIR SATURAÇÃO
EX.: Memória RAM insuficienteocomputadorficamanipulandointerrupções
de page faults
Magnos Martinello
Disponibilidade
• Fração do tempo que um sistema fica
disponível (operacional).
• Interrupções de Serviço pode prejudicar a
reputação de uma empresa, podem causar
desastres financeiros.
• Um sistema com 99.99% de disponibilidade,
fica indisponível quanto tempo em um
período de 30 dias
– (1-0.9999) x 30 (dias) x 24 (horas) x 60 (min) = 4,32
minutos.
Magnos Martinello
Problemas de Disponibilidade
Lamento – nosso site de vendas de livros está indisponível,
Mas, voce pode comprar agora mesmo do noss oconcorrente
Ficaremos muito contentes ;-)
Magnos Martinello
Controle de Admissão
TEMPO DE
RESPOSTA
CARGA
Tempo de Resposta tende a aumentar exponencialmente sem controlar/limitaro
número de requisições para garantir qualidade, limita as requisições, rejeitando algumas
Magnos Martinello
Escalabilidade
TEMPO DE
RESPOSTA
Sistema A – não é escalável
Sistema B – tempo aumenta linearmente com aumento da carga
Magnos Martinello
CARGA
Extensibilidade
• Propriedade de um sistema evoluir de modo a
atingir novos objetivos funcionais e requisitos de
desempenho.
• Computação Autonoma, Sistemas AutoGerenciáveis, SistemasAuto-Reparáveis.
Magnos Martinello
Ciclo de Vida do
SistemaComputacional
• Requisitos Funcionais: O que o sistema tem que fazer
e em quais tipos de plataformas.
• Requisitos Não-Funcionais: o quão bem o sistema
deve realizar suas funções. Contratos de Nível de
Serviço (Service Level Agreements - SLA) são
estabelecidos. Em muitos casos, esses requisitos nãofuncionais são negligenciados até quando o sistema
está na fase de TESTES!
Magnos Martinello
Ciclo de Vida do
SistemaComputacional
• Como os requisitos são atingidos?
– arquitetura do sistema
– Sistema separado em componentes
– maior parte das estruturas de dados, arquivos e banco
de dados são projetados
– interfaces entre os componentes do sistema são
especificados
Magnos Martinello
Ciclo de Vida do
SistemaComputacional
• Componentes são implementados.
– Alguns componentes são novos
– Alguns componentes são reusados
– Alguns componentes são adaptados
• Componentes são interconectados formando um
sistema
• Componentes deveriam ser instrumentados um a um
a medida que são construídos
Magnos Martinello
Ciclo de Vida do
SistemaComputacional
• Concorrentemente com o desenvolvimento do
sistema, os componentes são testados ao serem
integrados no sistema (unit testing).
• Testes integrados são feitos quando o sistema como
um todo estiver pronto.
• Frequentemente, mais tempo é gasto com testes dos
requisitos funcionais do que testes com requisitos
não-funcionais.
Magnos Martinello
Ciclo de Vida do
SistemaComputacional
• Configuração de Parâmetros tem que ser feitos para
cumprir os requisitos dos SLAs.
• Exemplo: parâmetros TCP, poolsize de banco de
dados, número máximo de threads, etc.
Magnos Martinello
Ciclo de Vida do
SistemaComputacional
• Constante monitoramento para checar se o sistema
está alcançando as demandas:
– carga (períodos de pico, padrões de acesso não-usuais)
– Métricas externas (qualidade percebida pela usuário)
– Métricas internas (ajuda a detectar gargalos e ajuste fino
no sistema)
– Disponibilidade (externa e interna)
• Pode ser necessário re-configurar dinâmicamente os
parâmetros
Magnos Martinello
Ciclo de Vida do
SistemaComputacional
• Sistemas podem precisar evoluir para manter-se
atualizado com novas leis e regulações (ex.
prefeituras)
• Sistemas podem precisar evoluir para prover novas
funções (ex, venda de música em MP3 para download
além da venda de CDs)
• Como os recursos de TI conseguirão manter a
evolução em termos de SLAs?
Magnos Martinello
Modelo de Referência de TI
•
Modelo Social:
– política de privacidade
– política de acessibilidade
•
Modelo de Negócios:
–
–
–
–
número de agências
número de terminais de auto-atendimento
número de contas de cada tipo
planos de evolução de negócios (ex, fusões)
Magnos Martinello
Modelo do Comportamento
do Cliente
Magnos Martinello
Exemplo: Infra-Estrutura de TI
Magnos Martinello
Download

Aula02