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

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

Performance em aplicações web – Parte I

Apresentações semelhantes


Apresentação em tema: "Performance em aplicações web – Parte I"— 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?
Nós realizamos testes unitários, o sistema não deveria ter nenhum erro! Seguimos todos os padrões de codificação estabelecidos! Não temos tempo nem dinheiro para executar testes de performance! A aplicação funciona muito bem quando executo no meu laptop! Qualquer empresa que implanta uma aplicação sem conduzir testes de performance está assumindo altos riscos!

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?
Firewall? Network dispatcher? Application Server? Projeto da Aplicação? Hardware? Web Server? Banco de dados?

9 Por que fazer testes de performance?
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 Impacto de descobrir defeitos tarde Custo por Defeito 1 10 100 Projeto Teste Produçã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 Usuários concorrentes
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 Ponto de saturação Transações / segundo Vazão Usuários concorrentes

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 Como medir isso em aplicações web?

24 Como medir isso em aplicações web?
DEMONSTRAÇÃO PRÁTICA


Carregar ppt "Performance em aplicações web – Parte I"

Apresentações semelhantes


Anúncios Google