Conceitos de Análise de Desempenho Prof. Gustavo Leitão Campus Natal Central Planejamento de Capacidade de Sistemas 5/3/2010
Objetivo da Aula 5/3/2010
5/3/2010 INTRODUÇÃO Introdução sobre análise de desempenho de sistemas Apresentação de uma abordagem sistemática para análise de desempenho Apresentação das principais métricas de Qos
5/3/2010 INTRODUÇÃO Sistemas de TI estão se tornando cada vez mais onipresentes na nossa vida cotidiana As pessoas confiam nos sistemas de TI para resolver a maioria das suas preocupações tais como saúde, educação entretenimento, finanças, etc. A maioria das pessoas precisam interagir com os sistemas de apoio automatizado ou semi-automática e esperam uma resposta imediata. Não é incomum para alguém ser colocada em espera durante dezenas de minutos antes de ser ligado a um ser humano que vai cuidar de um problema ou fornecer as informações necessárias. Estas situações causam frustração.
5/3/2010 INTRODUÇÃO O número de pessoas com acesso a serviços de comunicação está aumentando em taxas exponenciais. O crescimento do tráfego não foi acompanhado por um crescimento adequado da capacidade do sistema. Como resultado, os clientes poderão ouvir a gravação desagradável "todos os atendentes estão ocupados, por favor, tente ligar mais tarde.
ABORDAGEM SISTEMÁTICA PARA A AVALIAÇÃO DE DESEMPENHO 1- Estabeleça os objetivos e defina o sistema: Estabelecer os objetivos do estudo e delimite escopo (o que constitui o sistema). Mesmo com o mesmo conjunto de hardware e software, a definição do sistema pode variar dependendo do objetivo. Ex.: Seja duas UCPs: Objetivo 1: estudar o impacto da UCP no tempo de resposta de usuários interativos Escopo 1: O sistema é um sistema de tempo compartilhado. As conclusões dependem significativamente de componentes externos a UCP. Objetivo 2: UCPs são quase similares a exceção das ULAs, então o objetivo é decidir qual ULA deve ser escolhida. Escopo 2: O sistema é a UCP, e somente os componentes dentro da mesma devem fazer parte dele.
ABORDAGEM SISTEMÁTICA PARA A AVALIAÇÃO DE DESEMPENHO 2- Liste os Serviços e os resultados Todo sistema oferece um serviço Quando um usuário solicita um serviço há uma serie possíveis resultados (uns desejáveis outros não) Liste todos os serviços e os possíveis resultados, ela será importante durante a definição das métricas selecionadas
ABORDAGEM SISTEMÁTICA PARA A AVALIAÇÃO DE DESEMPENHO 3 - Selecione as métricas Selecionar a métrica significa selecionar o critério usado para análise e comparação 4 - Lista de parâmetros Liste todos os parâmetros que afetam o desempenho do sistema A lista pode ser dividida em duas partes: Do sistema (±estáveis): hardware e software Da carga de trabalho (dinâmicos): característica das demandas de usuários
ABORDAGEM SISTEMÁTICA PARA A AVALIAÇÃO DE DESEMPENHO 5 - Selecione os fatores A lista de parâmetros pode ser dividida em duas partes: Aqueles que não variam Aqueles que variam Inicie com uma pequena lista de fatores e níveis 6 - Selecione a técnica de avaliação Existem três técnicas: analítica, simulação e aferição A seleção depende de fatores como tempo, recursos disponíveis, precisão,nível de detalhes
ABORDAGEM SISTEMÁTICA PARA A AVALIAÇÃO DE DESEMPENHO 7 - Selecione a carga de trabalho Lista das solicitações de serviço Depende da técnica de avaliação escolhida: Analítica: probabilística Simulação: trace de solicitações do sistema real Aferição: scripts de usuários a serem executados pelo sistema A carga de trabalho deve ser representativa
ABORDAGEM SISTEMÁTICA PARA A AVALIAÇÃO DE DESEMPENHO 8 - Planeje os experimentos Dada a lista de fatores e seus níveis decida a seqüência de experimentos que resulte em mais informação com o menor esforço; Conduza os experimentos da seguinte forma: Estudar o efeito relativo dos vários fatores
ABORDAGEM SISTEMÁTICA PARA A AVALIAÇÃO DE DESEMPENHO 9- Analise e Interprete os dados Quando comparar duas alternativas, considere a variabilidade dos resultados Uma análise produz resultados e não conclusões! Os resultados fornecem a base para se tirar as conclusões 10- Apresentação dos resultados É importante que os resultados sejam apresentados de maneira inteligível (graficamente, sem jargões,...)
SELEÇÃO DA TÉCNICA DE AVALIAÇÃO Técnicas para a avaliação de desempenho de um sistema: Analítica, Simulação, Aferição Aferição: Medições realizadas no próprio sistema real ou em um protótipo do mesmo É necessário que o sistema ou um protótipo exista!
SELEÇÃO DA TÉCNICA DE AVALIAÇÃO Modelagem: Abstração do sistema a ser analisado, o qual inclui, em diferentes níveis de detalhes, dependendo da solução a ser empregada, os principais elementos e eventos condizentes ao comportamento do sistema e que ao mesmo tempo são relevantes na sua análise. Analítica: Formulas matemáticas /algoritmos computacionais que fornecem as métricas de interesse em função da carga de trabalho de entrada; Simulação: Programas computacionais que emulam os diferentes aspectos dinâmicos de um sistema
SELEÇÃO DA TÉCNICA DE AVALIAÇÃO Técnicas de Avaliação de Desempenho Sistema Real ou Protótipo Modelo Aferição Analítica Simulação
SELEÇÃO DA TÉCNICA DE AVALIAÇÃO Critério Analítica Simulação Aferição Tempo requerido para avaliação Curto Médio Variável Ferramentas Análise Linguagem de programação Instrumentação Precisão Baixa Moderada Variável Custo Baixo Médio Alto
SELEÇÃO DAS MÉTRICAS DE DESEMPENHO (QOS) Todo sistema oferece um serviço Métricas de QoS quantificam o desempenho do sistema Métricas de QoS mais usadas: Tempo de resposta Vazão (throughput) Eficiência Utilização Disponibilidade Confiabilidade Segurança Escalabilidade Extensibilidade
MÉTRICAS DE QOS MAIS USADAS Tempo de resposta Intervalo de tempo entre a solicitação do usuário e a resposta do sistema Solicitação do usuário Resposta do Sistema Tempo Tempo de reposta
MÉTRICAS DE QOS MAIS USADAS Tempo de resposta Usuário inicia a solicitação Usuário finaliza a solicitação Sistema Inicia a execução Sistema Inicia a reposta Sistema finaliza a reposta Usuário inicia a próxima solicitação Tempo Tempo de reação Tempo de resposta 1 Think time Tempo de resposta 2 19
MÉTRICAS DE QOS MAIS USADAS Tempo de resposta Ex.: Carregamento de uma página Web no navegador do usuário com o resultado de uma busca de livros em uma livraria eletrônica Tempo do navegador Tempo da rede Tempo do servidor de e-commerce Tempo de congestionamento Tempo gasto esperando por recursos (processadores, discos, redes) Depende do número de solicitações na rede Tempo do navegador Tempo da rede Tempo do Servidor de e-commerce Processamento E/S Navegador - ISP Internet ISP-Servidor Processamento E/S Rede Congestionamento
MÉTRICAS DE QOS MAIS USADAS Vazão (throughput) Taxa na qual as solicitações são servidas pelo sistema Medido em operações por unidade de tempo A natureza da operação depende do sistema Exemplo: Suponha que uma operação de E/S em disco leva 10 ms em média. Se o disco está constantemente ocupado (ou seja, a sua utilização é 100%), então será executa operações de E/S de forma contínua a uma taxa de uma operação de E/S a cada 10 milissegundos ou 0,01 seg. Assim, a taxa de transferência máxima do disco é de 100 (= 1 / 0.01) E/S por segundo. Mas se a taxa de solicitações de E/S são submetidos ao disco é inferior a 100 pedidos/seg, então o seu rendimento será igual à taxa a que os pedidos sejam apresentados. Isso leva à expressão: Vazão = min(capacidade do servidor, solicitações ao servidor);
MÉTRICAS DE QOS MAIS USADAS Sistema Métrica Web site E-commerce site Roteador UCP Disco Servidor de E-mail Solicitações HTTP/s Byte/s Interações Web/s (WIPS) Sessões/s Buscas/s Pacotes/s (PPS) MB transferidos/s Milhões de Instruções/s (MIPS) Operações de pontos flutuantes/s (FLOPS) E/S por segundo KB transferidos/s Mensagens enviadas por segundo
MÉTRICAS DE QOS MAIS USADAS Vazão (throughput) Capacidade nominal: maior vazão sob condições ideais Ex.: Ethernet-1Gbps Disco com 40 Mbps Capacidade útil:vazão máxima alcançável Ex.: Ethernet 100: 70-80 Mbps
MÉTRICAS DE QOS MAIS USADAS Vazão (throughput) Geralmente aumenta com a carga. Após um certo tempo ele satura e pode ainda diminuir (thrashing) Capacidade Nominal Vazão Joelho Capacidade Útil Carga Joelho é o ponto ótimo de operação Tempo de resposta Carga Glaucio H. S. de Carvalho 24
MÉTRICAS DE QOS MAIS USADAS Eficiência Capacidade útil/ capacidade nominal. Ex.: Utilização Uma LAN de 100Mbs tem sua capacidade útil de 85Mbps Eficiência de 85% Fração de tempo que o recurso está ocupado atendendo solicitações Período de tempo que o recurso não está sendo usado é chamada de tempo ocioso
MÉTRICAS DE QOS MAIS USADAS Disponibilidade Fração de tempo que o sistema está disponível para o atendimento a clientes Ex.: Sistema com disponibilidade de 99,99% em um período de 30 dias está indisponível por: (1-0,9999)x30diasx24horas/diax60minutos/hora=4.32minutos Tal nível de disponibilidade é excelente para um serviço de e-commerce; Porém, para um sistema de defesa, 911 pode ser inaceitável! Um sistema disponível por 99,9% em um período de 30 dias por quanto tempo ficou indisponível?
MÉTRICAS DE QOS MAIS USADAS
MÉTRICAS DE QOS MAIS USADAS Disponibilidade Duas razões para a indisponibilidade: Falhas e sobrecarga Falhas Algum componente do sistema está inoperante Ex.: conexão com a Web pode está indisponível Solução: sistema de detecção, diagnóstico e restabelecimento da falha Sobrecarga Todos os componentes estão operacionais, mas o sistema não possui recursos suficientes para atender toda a demanda Ex.: Um servidor Web recusa a abertura de uma nova conexão TCP, pois o número máximo já foi alcançado
MÉTRICAS DE QOS MAIS USADAS Disponibilidade Sobrecarga Uma das formas de resolver a sobrecarga em sistemas de TI é o Controle de Admissão de Chamadas (CAC) CAC controla e limita o número de solicitações que estão sendo tratadas concorrentemente. Evita o aumento excessivo (exponencial) do tempo de resposta.
MÉTRICAS DE QOS MAIS USADAS Disponibilidade Sobrecarga Sem CAC Tempo de resposta Threshold Com CAC Carga
MÉTRICAS DE QOS MAIS USADAS Confiabilidade Probabilidade do sistema operar adequadamente e continuamente durante um período fixo de tempo. Confiabilidade e disponibilidade são conceitos intimamente relacionados, mas são diferentes. Quando o período de tempo é muito grande a confiabilidade tende para a disponibilidade Segurança Mecanismo de autenticação Criptografia Glaucio H. S. de Carvalho 31
MÉTRICAS DE QOS MAIS USADAS Escalabilidade Um sistema é escalável quando seu desempenho não degrada significativamente com o aumento da carga. Sistema A- Não é escalável Tempo de resposta Sistema B- Escalável Carga
MÉTRICAS DE QOS MAIS USADAS Extensibilidade É a propriedade do sistema facilmente evoluir para lidar com novas funções e requisitos de desempenho Novas leis, regulamentos, diferentes modelos de negócio podem mudar o ambiente no qual o sistema está operando e ele deverá se adequar as novas circunstâncias.
MÉTRICAS DE QOS MAIS USADAS Maior é Melhor Vazão Menor é Melhor Tempo de resposta Nominal é melhor Utilização Alta-> tempo de resposta alto Baixa->Recursos estão ociosos 50->75% U T I L I D A D E Maior é melhor U T I L I D A D E Menor é melhor U T I L I D A D E Nominal é melhor MÉTRICA MÉTRICA MÉTRICA
EXERCÍCIO 1 - Um sistema de comércio on-line registrou os períodos de tempo durante o qual os serviços caiu durante os últimos dois dias e foi obtido o resultado mostrado na tabela abaixo. Qual foi a disponibilidade do local durante os dois dias?