Avaliação de Desempenho de Sistemas Introdução a Avaliação de Desempenho de Sistemas Prof. Othon M. N. Batista [email protected] Roteiro Definição de Sistema Exemplo de Sistema: Agência Bancária Questões Sobre o Sistema de Agência Bancária Definição de Desempenho Definição de Avaliação de Desempenho 2 Roteiro Métricas de Desempenho de um Carro Métricas de Desempenho de um Agência Bancária Métricas de Desempenho de um Sistema Computacional Classificação das Métricas de Desempenho Técnicas de Avaliação de Desempenho Medição Métodos Analíticos Simulação Modelagem 3 Definição de Sistema “Sistema é um conjunto de objetos, como pessoas ou máquinas, por exemplo, que atuam e interagem com a intenção de alcançar um objetivo ou um propósito lógico” (Taylor, 1970) 4 Exemplo de Sistema: Agência Bancária Alguns objetos do sistema: Caixa computador; operador do caixa; clientes; Objetivo desse sistema é o atendimento ao cliente: saques, depósitos; transferências, extratos; O que seria uma boa agência bancária? Rápido atendimento; filas pequena; muitos caixas. pagamento de contas; 5 Exemplo de Sistema: Agência Bancária Caixa Grande quantidade de caixas: filas pequenas rápido atendimento Grande quantidade de caixas é caro!!! Caixa O mais interessante é maximizar o custo benefício Para isso é necessário fazer um dimensionamento do nº ideal de operadores de caixa 6 Questões Sobre o Sistema de Agência Bancária Caixa 1. Quantos caixas são necessários para garantir um tempo de espera máximo de 15 minutos? O que pode influenciar essa medida de desempenho? Caixa nível de satisfação; tipo de serviço requisitado; quantidade de clientes; ganhos por produtividade; experiência. Assumindo uma determinada taxa de chegada de clientes, quantos clientes em média são atendidos por hora em uma agência bancária com somente 3 caixas no modelo de fila única? 7 Definição de Desempenho Desempenho conforme dois dicionários: Aurélio: Conjunto de características ou de possibilidades de atuação de uma aeronave, tais como velocidade de cruzeiro, velocidade de pouso, capacidade de carga, autonomia de vôo, etc. Houaiss: Desempenho: Maneira como atua ou se comporta alguém ou algo, avaliada em termos de eficiência, de rendimento. Performance: conjunto de índices aferidos experimentalmente que define o alcance ideal de algo; desempenho ótimo 8 Definição de Avaliação de Desempenho Avaliação de desempenho de sistemas é o estudo de sistemas com o objetivo de: entender melhor o comportamento do sistema; Quantos clientes são atendidos por hora? dimensionar, otimizar os recursos, maximizar custo benefício; Quantos caixas são necessário para um bom* atendimento dos clientes? comparar técnicas de gerenciamento de recursos. Qual o melhor horário e esquema de almoço para os operadores de caixa? É mais eficiente ter um nº maior de caixas pela manhã ou pela tarde? 9 Métricas de desempenho de um Carro Velocidade máxima Aceleração (tempo para ir de 0 a 100 km/h) Espaço de frenagem a uma dada velocidade X 10 Métricas de Desempenho de um Agência Bancária Taxa de atendimento de clientes Taxa em que os clientes são atendidos (servidos) pelos caixas do banco. Utilização Fração do tempo em que o caixa permanece ocupado atendendo os clientes do banco Tempo de resposta Tempo decorrido entre o momento que o cliente entra na fila do caixa até o momento que ele termina de ser atendido. 11 Métricas de Desempenho de um Agência Bancária Taxa de atendimento de clientes Caixa Quantos clientes um caixa atende por hora? O que pode influenciar essa medida de desempenho? Caixa nível de satisfação; tipo de serviço requisitado; quantidade de clientes; ganhos por produtividade; experiência. Quantos clientes todos os caixas juntos atendem por hora? 12 Métricas de Desempenho de um Agência Bancária Tempo de resposta Qual o intervalo de tempo que um cliente precisa para ser atendido? No caso da figura são 35 minutos. Saída 14:45 Caixa O que pode influenciar essa medida de desempenho? Quantidade de clientes que desejam atendimento Quantidade de caixas do banco Chegada 14:10 13 Métricas de Desempenho de um Sistema Computacional Vazão ou Throughput Taxa na qual os pedidos são atendidos (servidos) pelo sistema. Taxa de Utilização Fração do tempo em que o recurso permanece ocupado atendendo os pedidos dos usuários Tempo de Resposta tempo decorrido entre o pedido e o início/conclusão da realização do serviço. 14 Classificação das Métricas de Desempenho Velocidade requisição Sistema corretamente atendida incorretamente não tempo de resposta, vazão e taxa de utilização Confiabilidade probabilidade de erro intervalo entre erros atendida Disponibilidade duração da falha intervalo entre falhas 15 Técnicas de Avaliação de Desempenho Tradicionalmente, três são as técnicas de avaliação de desempenho: medição; modelagem analítica; simulação. 16 Medição Para efetuarmos medições (como benchmarks) é preciso termos à disposição ao menos um protótipo do sistema. Normalmente é difícil comparar alternativas. Nem sempre um instrumento de medição é simples. 17 Modelagem Analítica Teoria das filas. Filas associadas a recursos. Caracterização: processo de chegada; processo de atendimento; quantidade de servidores; tamanho máximo da fila; política de atendimento da fila. 18 Modelagem Analítica Técnica aproximada. Aproxima a realidade por um modelo analítico. Se o modelo for simples e a aproximação boa, é possível avaliar facilmente compromissos entre alternativas 19 Simulação Simulação de eventos discretos. Cada evento (ex.: chegada de usuário, término de serviço, etc.) é tratado quando do instante de sua ocorrência. Em geral, é possível construir um modelo muito mais próximo da realidade do que com a teoria das filas. 20 Critérios para Seleção da Técnica de Avaliação de Desempenho Critério Modelagem analítica Qualquer Simulação Medição Qualquer Protótipo Tempo necessário Ferramentas Pouco Médio Variado Analistas Instrumentação Precisão Pouca Linguagens de Programação Moderada Custo Baixo Médio Alto Estágio Variada 21 Técnicas para Avaliação de Desempenho de Sistemas Medição Realização de medidas utilizando um sistema real ou protótipo Normalmente é difícil comparar alternativas Modelagem Analítica Uso de modelos matemáticos que correspondam ao sistema real É uma técnica aproximada Algumas vezes muito limitada. Simulação Uso de modelos implementados em linguagens de programação Simula o comportamento de um sistema real Em geral, é possível construir um modelo muito próximo da realidade. 22 Modelo do Sistema Entradas Saídas 23 Modelo do Sistema A modelagem de um sistema é a representação, geralmente simplificada, de um sistema (real) através de relações lógicas e matemáticas com o objetivo de estudar e entender o comportamento desse sistema. A modelagem pressupõe um processo de criação e descrição, envolvendo um determinado grau de abstração que, na maioria das vezes, acarreta numa série de simplificações sobre a organização e o funcionamento do sistema 24 Modelo do Sistema Há a necessidade de conhecer bem o sistema que se deseja modelar. O modelo deve ser definido conforme as medidas de desempenho desejadas. Por exemplo: quantos são os caixas para o tempo de atendimento médio ser de 15min? 25 Modelo do Sistema Problema A modelagem perfeita de um sistema implica na caracterização de um sistema a partir de um número muito grande (ilimitado) de variáveis Solução Definir quais as medidas de desempenho de interesse Selecionar um conjunto limitado de variáveis de caracterização do sistema Por exemplo: para estudar desempenho (nº de clientes atendidos por hora) de uma agência bancária, o Nº de aparelhos de ar condicionado não é necessariamente relevante 26 Cosiderações Tópicos estudados: definições de sistema, desempenho e avaliação de desempenho; exemplos de sistemas e métricas de desempenho; técnicas de avaliação de desempenho: medição, métodos analíticos e simulação; modelagem. 27