A apresentação está carregando. Por favor, espere

A apresentação está carregando. Por favor, espere

Performance em aplicações web – Parte I Vanilson Burégio

Apresentações semelhantes


Apresentação em tema: "Performance em aplicações web – Parte I Vanilson Burégio"— Transcrição da apresentação:

1 Performance em aplicações web – Parte I Vanilson Burégio

2 Objetivo da aula Discutir os principais conceitos e métricas relacionadas com performance e utilizar ferramenta para monitorar e melhorar a performance de uma aplicação web

3 Por que monitorar performance? Qualquer empresa que implanta uma aplicação sem conduzir testes de performance está assumindo altos riscos! Nós realizamos testes unitários, o sistema não deveria ter nenhum erro! A aplicação funciona muito bem quando executo no meu laptop! Não temos tempo nem dinheiro para executar testes de performance! Seguimos todos os padrões de codificação estabelecidos!

4 Os custos de uma má performance Custo de suporte para tornar a aplicação escalável –Mais recursos são necessários para suportar a aplicação em produção Perda da confiança do cliente –Tempos de respostas altos não são aceitos pelos usuários Perda da credibilidade –Níveis de performance não correspondem ao que foi fechado no contrato Perda de dinheiro $ –O efeito inevitável de perda de clientes

5 Quando pensar em performance Projeto da Arquitetura Período de desenvolvimento Fase de testes de componentes e unitários Fase de testes de performance Implantação Resumo: –considere performance em todos os passos desde o projeto até a implantação da aplicação

6 O que deve ser analisado em uma aplicação web Código do cliente HTTP Server Application server –Containers (EJB, WEB) Banco de dados Rede (dispatchers) Roteadores Firewalls O ambiente de uma aplicação pode ser simples ou complexo e uma série de elementos devem ser analisados

7 Exemplo de Arquitetura

8 O que pode causar problemas de performance? Network dispatcher? Firewall? Hardware? Application Server? Banco de dados? Projeto da Aplicação? Web Server?

9 Por que fazer testes de performance? Custo por Defeito ProjetoTesteProdução Impacto de descobrir defeitos tarde Reunir dados de desempenho da aplicação para tomar decisões de negócios que afetem a aplicação Melhorar a qualidade percebida pelo usuário –Atributos de qualidade chaves: tempo de resposta e velocidade Descobrir defeitos que afetam o desempenho da aplicação

10 Objetivos de testes de performance Identificar tempos de resposta do sistema –Validação de requisitos e objetivos de desempenho –Benchmarking –Acordo de Nível de Serviço (SLAs) Determinar o número máximo de usuários de um sistema –Planejamento da capacidade –Escalabilidade Descobrir as configurações ótimas e mínimas –Carga normal e carga máxima –Customizar configurações do ambiente

11 Termos relacionados com performance Vocabulário fundamental para especialistas em performance Termos chaves –Tempo de resposta (Response time) –Carga (Load) –Vazão (Throughput) –Caminho da aplicação (Path Length) –Gargalo (Bottleneck) –Escalabilidade (Scalability) –Capacidade (Capacity)

12 Tempo de Resposta O tempo de resposta mede o tempo em que um espera por uma requisição –Normalmente expresso como uma média ou 95% Maiores componentes do tempo de resposta –Tempo de processamento –Tempo de transmissão (usualmente parte do tempo de processamento) –Qualquer tempo de espera em fila Qual o tempo de resposta aceitável? –Isso é definido pelos padrões da indústria!

13 Tempo de Resposta Processo de saída inicia quando o cliente entra na fila Processo de saída termina quando o cliente recebe seus produtos Componentes do tempo de resposta: –Tempo na fila –Tempo real de registro das compras –Pegar dinheiro e receber o troco –Empacotar as mercadorias

14 Tempo de Resposta Medido a partir da solicitação feita a página retornada Tempo de resposta de um web site é em função do: –Tempo de puro processamento –Mais tempo de espera em qualquer número de filas –Mais tempo de transferência entre múltiplos componentes

15 Medição crítica de tempo de resposta Tempo de resposta é uma medição crítica Tempos de respostas ruins => clientes insatisfeitos Muitos web sites falham por causa de questões relacionadas a tempo de resposta Considere tempo de resposta: –Sob cargas em horários de pico –Sob cargas excepcionais (dias de alta demanda: natal) –Sobre conexões lentas (dial-up)

16 Carga (load) Carga é a pressão sobre o web site Expressado como: –Atividade do usuário Chegadas dos usuários Logging dos usuários Envio de solicitações dos usuários –Atividade de solicitação Solicitações por segundo, páginas por hora, etc...

17 Carga (load) Carga é a pressão sobre o web site Expressado como: –Atividade do usuário Chegadas dos usuários Logging dos usuários Envio de solicitações dos usuários –Atividade de solicitação Solicitações por segundo, páginas por hora, etc...

18 Vazão (Throughput) Vazão mede as coisas finalizadas em uma unidade de tempo –Exemplo: páginas de um site servidas por segundo Vazão é aplicada em muitos conceitos, não apenas web sites –Restaurante: clientes servidos por hora –Túneis: carros que passam por minuto –Departamento de embalagem em lojas: pacotes embrulhados por dia

19 Vazão Máxima Vazão máxima é uma medida da capacidade –Saídas de um sistema obtidas em uma unidade de tempo Exemplo do restaurante –Se o restaurante tem apenas 1 funcionário servindo –... e ele leva um minuto para servir um cliente –... então a vazão máxima é de 1 cliente por minuto Não é uma medida da quantidade de solicitações, apenas quantas foram completadas –Excesso de solicitações podem ser enfileiradas, sair ou serem descartadas

20 Saturação da Vazão Na vazão máxima cargas adicionais não vão aumentar a vazão Vazão máxima é um ponto de saturação –100% de utilização da CPU é o caso ideal Vazão Transações / segundo Usuários concorrentes Ponto de saturação

21 Exemplo de cafeteria saturada Um servidor ou sistema pode atender mais cargas além da vazão máxima Cafeteria –Se os clientes chegam um pouco mais rápido que o funcionário serve: Fila Tempo de resposta permanece bom Tempo de resposta = tempo na fila + tempo do serviço A vazão é a mesma (tempo de serviço constante) –Entretanto, se a quantidade de pessoas chegar significantemente mais rápido que a taxa de serviço Tempo de resposta aumenta bem como o tempo de espera A vazão eventualmente se torna comprometida

22 Como medir isso em aplicações web?

23

24 DEMONSTRAÇÃO PRÁTICA


Carregar ppt "Performance em aplicações web – Parte I Vanilson Burégio"

Apresentações semelhantes


Anúncios Google