Performance em aplicações web – Parte I

Slides:



Advertisements
Apresentações semelhantes
Limites de Desempenho Grupo 8.
Advertisements

Lei de Little.
Adélia Barros Testes de Software Adélia Barros
Nome da Apresentação Clique para adicionar um subtítulo.
Professor Sílder Lamas Vecchi
Faculdade de Ciências Sociais e Aplicadas de Petrolina – FACAPE
Mecanismo de Proteção (Prevenção e Detecção)
Sistemas Operacionais Planejamento de Experimento
Avaliação de Desempenho Planejamento de Experimentos 2 Aula 2 Marcos José Santana Regina Helena Carlucci Santana Universidade de São Paulo Instituto de.
Avaliação de Desempenho Planejamento de Experimentos 1
Daniel Paulo Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às.
Preço IBM Service Manager for Smart Business em torno de R$6.000,00 por usuário o preco so é mantido para empresas MidMarket / por usuário Preço referência.
© 2011 IBM Corporation IBM Netezza O verdadeiro Appliance para Data Warehouse Presenters Name - Presenters Title DD Month Year.
Implementação de Sistemas
TIPOS DE TESTES APLICÁVEIS E NÃO APLICÁVEIS AO PROJETO
Requisitos Funcionais e Não-Funcionais/ Documento de Requisitos
TSDD Teste de segurança durante o desenvolvimento.
Gestão de estoques na cadeia de logística integrada
Faculdade Pitágoras Prof. Fabrício Lana
UFRPE – Modelos de Qualidade Teresa Maciel
ERP - Enterprise Resource Planning
Algumas Coisas sobre Pesquisas de Opinião Num mercado competitivo, saber o que o seu cliente prefere ou deseja é fundamental.
Apresentação executiva.
Visão Geral PRO.NET.
Fundamentos de Engenharia de SW
Introdução ao Teste de Performance (Desempenho)
QUALIDADE PESSOAL COMO BASE PARA A QUALIDADE TOTAL
Estrutura e Soluções WEB
Gerenciamento da Integração
Paulo Silva Tracker Segurança da Informação
Módulo: Gerenciamento de Incidentes e
Otimizando sua TI, maximizando seus negócios
Sistemas Distribuídos Carlos A. G. Ferraz DI/UFPE Aula 05.
Análise e Desenvolvimento de Software
Análise e Projeto de Software CSTDS Profº. Henrique Vila Nova 1.
Natureza do Planejamento e Controle
O Processo de desenvolvimento de software
Marcio de Carvalho Victorino Processo Unificado. Unidade VI: Teste.
Teste de Software Conceitos iniciais.
O que é? É o processo de investigação técnica com intuito de identificar a qualidade, a segurança e a exatidão do software desenvolvido. A validação do.
Objetivos do Capítulo Explicar a importância da implementação de processos e tecnologias de gerenciamento de dados numa organização. Explicar as vantagens.
RUP - Cap. 4 – Processo Centrado na Arquitetura
Introdução a JEE Marco A. S. Reis Arquiteto de Software Abril/2011.
EPR16 – Planejamento e Gestão da Qualidade Professora Michelle Luz
RUP - Cap. 3 – Processo Dirigido por Caso de Uso
Infra-estrutura da tecnologia de informação
Google Wave (Arquitetura) Ademir Junior / Felipe Ferreira / Fernando Kakimoto.
Qualidade de software Fabiano Gonçalves dos Santos Aula 10.
MSCC - Introdução Baseado no capítulo 1 do livro Performance Evalution of Computer and Communication Systems, de Jean-Yves Le Boudec (EPFL)
Projeto Supervisionado no Desenvolvimento de Aplicações Profissionais na Web Introdução a Aplicações Web.
Planejamento de Capacidade e Resolução de Problemas
PROCESSO DE DESENVOLVIMENTO DE SOFTWARE AULA 5
Arquitetura TCP/IP Aplicação Transporte Rede Enlace Física.
 São métodos formais de tornar disponíveis para a administração, quando oportuno, as informações necessárias para facilitar o processo de tomada de decisão.
Conceitos de Monitoramento
ANÁLISE DE ESTOQUES.
Abordagem Sistemática Guilherme Amaral Avelino Avaliação e Controle de Sistemas de Informação.
Daniel Paulo Introdução O tempo de resposta de um sistema é determinado pelo tempo que ele leva para retornar aos usuários às.
Prof. Sidney Galeote. 2 www. prasabermais. com  Visão Geral sobre a dimensão de qualidade “performance”  Custo da qualidade  Como a performance deve.
Sobre a Prime Control A Prime Control é um Centro de Excelência em Qualidade de Software. Nossa missão é desenvolver, aperfeiçoar e realizar serviços.
SERVIDORES E SERVIÇOS Leandro Escobar 2009 SERVIDORES E SERVIÇOS.
1 YPM – Easy Project Management. 2 Complemento Francisco Eriko Barreto Brito Project Management Professional (PMP®) MBA em TI PMP Number: PMI.
Engenharia de Software com o RUP - Workflow de Requisitos
ISO9001:2000 para Software Professor: Alexandre Vasconcelos Equipe: Amanda Pimentel Börje Karlsson Danielly Karine Erika Pessoa Jorge Cavalcanti Jose Edson.
Projeto de Redes 4º Semestre Aula 3 Prof. Carlos Vinícius SERVIÇO NACIONAL DE APRENDIZAGEM COMERCIAL FACULDADE DE TECNOLOGIA SENAC.
Processos de Software Ludimila Monjardim Casagrande 1º Semestre Desenvolvimento e Qualidade.
Introdução ao Gerenciamento de Redes de Computadores Curso Técnico em Redes de Computadores Professor Emerson Felipe Capítulo 01 Gerenciamento de Redes.
TESTES DE SOFTWARE – AULA 1 Prof. Me. Ronnison Reges Vidal
Curso Técnico Eletromecânica Práticas de Manutenção II
1 Application Performance Assurance Soluções sob medida para cada necessidade Serviços pontuais ou contínuos Alto nível de especialização Utilização das.
Transcrição da apresentação:

Performance em aplicações web – Parte I Vanilson Burégio vanilson@gmail.com

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

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!

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

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

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

Exemplo de Arquitetura

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

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

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

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)

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!

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

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

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)

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...

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...

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

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

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

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

Como medir isso em aplicações web?

Como medir isso em aplicações web?

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