DevOpsDays Cuba 2017: Ignite - Performance test for Web Apps

DevOpsDays Cuba 2017: Ignite - Performance test for Web Apps

Author: Marialina Ballesteros Hernández
Summary: Como parte del ciclo de integración continua de nuestros productos se le realizan test de stress, carga y rendimiento. Para realizar estos test se utilizan las herramientas de código abierto siguientes: Jmeter, Sitespeed y Lighthouse, las cuales permiten realizar los test automaticamente. Con la evaluación de los resultados de los test se cuantifica la capacidad de la infraestructura, se validan los requerimientos de desempeño y la escalabilidad de las plataformas. Permite identificar los posibles problemas en el desempeño actual y realizar mejoras al producto trabajando en conjunto desarrolladores y operadores.

D5db2dc3cc883df3479797edb63b581b?s=128

DevOpsDays Cuba

October 26, 2017
Tweet

Transcript

  1. DevOpsDays Cuba Performance test for Web Apps MARIALINA BALLESTEROS HERNÁNDEZ

    DATYS
  2. Performance test for Web Apps  Performance testing is the

    general name for tests that check how the system behaves and performs.  Performance testing examines responsiveness, stability, scalability, reliability, speed and resource usage of your software and infrastructure. Richard Bishop, Head of Service Development/Delivery at Trust IV Ltd
  3. Performance Testing Objectives  Validate the application to determine if

    it fulfills its performance goals or targets  Identify the point at which the load becomes so great that the application fails to meet performance requirements  Determine if the application will support typical – normal production load conditions
  4. Performance Testing Objectives  Tune the application for better performance

    by identifying the optimal system configuration  Find optimal hardware  Locate bottlenecks including in I/O, server, network and database
  5. When …

  6. Why …

  7. Performance Testing:

  8. First determine Baseline  Recreate production scenario  A test

    on “normal load” to establish a baseline for comparison with future tests.  1 user for a period of time or a few number of iterations
  9. Load Test simulate a number of concurrent users doing things

    you'd expect them to be doing in a "typical" session.
  10. Stress testing Stress testing is essentially "extreme" load testing

  11. Soak testing Soak testing is about simulating a typical load

    for extended periods of time, while monitoring performance.
  12. Process:

  13. JMeter  Configure: Cookies, Header, Request, External Variables  Recording

    Sessions
  14. JMeter  Configure: Cookies, Header, Request, External Variables  Recording

    Sessions  Users, Cycles
  15. JMeter  CLI  docker  Use database o file

    to load request parameters  Many output formats
  16. Key Performance Indicators 1. Number of Users 2. Hits per

    Second 3. Errors per Second 4. Response Time 5. Latency 6. Connect Time 7. Bytes/s (Throughput)
  17. Response Time vs Active Threads

  18. Response Time Percentiles

  19. Number of responses and errors

  20. Performance Testing Helps to Determine  How the application's response

    time changes if you increase or decrease the number of users/transactions.  How many users/transactions can simultaneously work with the application without a perceptible slowdown.  What load can crash the application and what happen then.  How hardware and software configuration changes affect application performance