$30 off During Our Annual Pro Sale. View Details »

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.

DevOpsDays Cuba

October 26, 2017
Tweet

More Decks by DevOpsDays Cuba

Other Decks in Technology

Transcript

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

    View Slide

  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

    View Slide

  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

    View Slide

  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

    View Slide

  5. When …

    View Slide

  6. Why …

    View Slide

  7. Performance Testing:

    View Slide

  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

    View Slide

  9. Load Test
    simulate a number of
    concurrent users
    doing things
    you'd expect them to be doing in
    a "typical" session.

    View Slide

  10. Stress testing
    Stress testing is
    essentially
    "extreme" load
    testing

    View Slide

  11. Soak testing
    Soak testing is about
    simulating a typical load for
    extended periods of time,
    while monitoring
    performance.

    View Slide

  12. Process:

    View Slide

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

    View Slide

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

    View Slide

  15. JMeter
     CLI  docker
     Use database o file to load request parameters
     Many output formats

    View Slide

  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)

    View Slide

  17. Response Time vs Active Threads

    View Slide

  18. Response Time Percentiles

    View Slide

  19. Number of responses and errors

    View Slide

  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

    View Slide