Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Performance Engineering: garanta confiabilidade de seu release

Performance Engineering: garanta confiabilidade de seu release

“O sistema é lento demais”: Quem nunca recebeu este péssimo diagnóstico de seu chefe, usuário ou cliente? Fazer uso de Performance Engineering demonstra-se uma excelente estratégia para alterar tal quadro, sem implicar atritos as práticas ágeis desenvolvimento ou à esteira DevOps implantada.

Alexsander Melo

December 14, 2019
Tweet

More Decks by Alexsander Melo

Other Decks in Technology

Transcript

  1. Confiabilidade Desafios no ambiente de negócios atuais… O Sistema está

    lento Incidentes críticos de desempenho Riscos de impacto negativo na confiabilidade #DevopsDays
  2. Usuários Nearly 70% of consumers admit that page speed influences

    their likeliness to buy. Unbounce The 2019 Page Speed Report Stats & Trends for Marketers https://unbounce.com/page-speed-report/ Google: 53% of Mobile Users Abandon Sites That Take Longer Than 3 Seconds to Load Alex Shellhammer (Head of Publisher Marketing, Google Ad Manager) 2016 https://www.blog.google/products/admanager/t he-need-for-mobile-speed/ #DevopsDays
  3. DevOps + Agile Agile O que deve ser feito para

    se garantir bom desempenho nos softwares, sem que se implique atritos as práticas ágeis desenvolvimento ou à esteira DevOps implantada? Fonte: Gartner (Jun 2018) ID: 297995 #DevopsDays
  4. Performance Engineering Performance Management Performance Tuning Software Engineering Software Quality

    Assurance Capacity Planning Performance Engineering LIFECYCLE Performance Modeling Performance Test #DevopsDays
  5. Teste Agile Unit Test Component Test Integration Test System Test

    Acceptance Test Alpha Test Beta Test + Performance Test Fonte: Gartner (Jun 2018) ID: 297995 #DevopsDays
  6. Riscos Riscos Probabilidade Impacto Severidade Quebra de clausula contratual quando

    o tempo de resposta da aplicação supera 15 segundos Alta Alto Crítico Container Instável e sem aparente aumento de acessos dos usuários Média Média Significante Mais timeouts após nova release em produção com consumo alto de CPU Média Média Significante Leak de memória quando os usuários visualizam a fatura Média Baixo Pouco Significante Estouro de conexões simultâneas com aumento de acessos dos usuários Baixo Baixo Pouco Significante #DevopsDays
  7. PREM Performance Refinement and Evolution Model O pedido deve ser

    processado antes que o usuário abandone a sessão ou que perca a paciência. #PREM 0 Requisitos Qualitativos de Performance O pedido deve ser processado até 10 segundos ou a aplicação deve atender 20 pedidos por segundo. Requisitos de Performance com Métricas Quantitativas #PREM 1 Em média a aplicação deve processar 50 pedidos por minuto com tempo limite de resposta até 3 segundos para cada pedido processado. Definição Quantitativa e Objetiva de Performance #PREM 2 70 usuários por minuto devem acessar a Home, 40% deles acessarão os canais de promoções e 20% destes usuários realizarão o pedido. Definição de Carga para Cada Componente #PREM 3 Espectativa Quantitativa Caracterísca de Execução Caracterisca de carga EX: #DevopsDays
  8. Objetivos Objetivo PREM 0 • Identificar o foco de performance

    • KPI PREM 1 • Especificar e verificar as métricas quantitativas PREM 2 • Especificar os recursos computacionais • Estimar o workload • Verificar as métricas quantitativas PREM 3 • Coleta e análise de métricas dos recursos computacionais • Ajuste dos requisitos de performance #DevopsDays
  9. Processo Visitas/min | Cadastros/seg | Propostas/min KPI Ramp up Tempo

    de Bateria 40 Visitas/min com Tempo de Resposta abaixo de 3 Segundos. Alvo Definir fluxos de navegação ou ação a ser utilizada no robô. Cenário de Teste Especificar e distribuir a carga, juntamente com o tempo de Step. Workload E-mail | CPF | Fatura | Appkey | Usuário e Senha. Massa de Dados DynaTrace | AppDynamics | NewRelic | Splunk | Zabbix | Elastic Stack. Instrumentação Jmeter | HP Loadrunner | NeoLoad | Getling | Artillery.io | Blazemeter. Robô Levantar oportunidades de melhorias de desempenho. Concluir laudo de avaliação de performance. Análise Step 1 Step 2 Step 3 Tempo do Step #DevopsDays
  10. #DevopsDays Referencia • Deriving Performance Requirements and Test Cases with

    the Performance Refinement and Evolution Model (PREM) - Chih-Wei Ho / Laurie Williams • 10 software testing trends to watch out for in 2019 - https://reqtest.com/testing- blog/software-testing-trends-2019/ • On Agile Performance Requirements Specification and Testing - Chih-Wei Ho1, Michael J. Johnson2, Laurie Williams1, and E. Michael Maximilien2 Department of Computer Science, North Carolina State University • Improving Performance Requirements Specifications from Field Failure Reports - Chih-Wei Ho1, Laurie Williams2, Annie I. Antón2 Department of Computer Science, North Carolina State University • Incorporating Performance Engineering into DevOps - DevOps.com - https://devops.com/incorporating-performance-engineering-devops/ • Performance Engineering in the Age of Agile and DevOps by aftab alam · by Rohini Sathaye · by Divakar Prabhu · Jan. 16, 19 · Agile Zone · Analysis • ENSURE RELIABLE, SCALABLE, ROBUST, AND PREDICTABLE APPLICATION BEHAVIOUR End-to-End Performance Testing and Engineering Services ensure seamless performance of applications even at peak loads - https://www.cigniti.com/performance-testing/