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