Slide 1

Slide 1 text

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

Slide 2

Slide 2 text

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

Slide 3

Slide 3 text

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

Slide 4

Slide 4 text

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

Slide 5

Slide 5 text

When …

Slide 6

Slide 6 text

Why …

Slide 7

Slide 7 text

Performance Testing:

Slide 8

Slide 8 text

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

Slide 9

Slide 9 text

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

Slide 10

Slide 10 text

Stress testing Stress testing is essentially "extreme" load testing

Slide 11

Slide 11 text

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

Slide 12

Slide 12 text

Process:

Slide 13

Slide 13 text

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

Slide 14

Slide 14 text

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

Slide 15

Slide 15 text

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

Slide 16

Slide 16 text

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)

Slide 17

Slide 17 text

Response Time vs Active Threads

Slide 18

Slide 18 text

Response Time Percentiles

Slide 19

Slide 19 text

Number of responses and errors

Slide 20

Slide 20 text

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