Slide 1

Slide 1 text

Load Testing Your Application By AbdulHafeez AbdulRaheem (Feezy | Hendrix | Arishem | eHnDrix | Steve Mcqueen and Others).

Slide 2

Slide 2 text

About Me? ● Software Engineer with 7 years experience. ● Mostly about the backend lifestyle. ● Enjoy’s math, chess and video games ● Sweet boy supreme. ● If you ask me about anything, there’s a 69% chance I know something about it (jk).

Slide 3

Slide 3 text

What is this load testing? ● Simpler term? Setting your application on fire, too see how much burn it can take. ● Actual term? Load testing is a type of performance testing used to determine a system's behavior under both normal and anticipated peak load conditions

Slide 4

Slide 4 text

(Meme) Your node server after 50,000 concurrent request

Slide 5

Slide 5 text

Why you should load test your application? ● Performance Benchmarking ● Scalability Insights ● Identifying Bottlenecks ● Ensuring Reliability and Stability ● Cost Optimization ● It’s the “senior” thing to do.

Slide 6

Slide 6 text

Tools we would be exploring ● Http Benchmarking ○ Autocannon: https://github.com/mcollina/autocannon ● Load Testing Tool ○ K6: https://k6.io ○ Locust: https://locust.io

Slide 7

Slide 7 text

Autocannon Pros: ● An HTTP/1.1 benchmarking tool written in node. ● ```npm i autocannon -g``` Cons: ● Autocannon can saturate the CPU. ● It doesn’t compile to binary. ● It’s written in Node Fam, get serious.

Slide 8

Slide 8 text

K6 Pros: ● Developer Friendly ● Performance ● Open Source Cons: ● Not suitable with client side ● Supports limited protocols ● No GUI

Slide 9

Slide 9 text

Locust Pros: ● Python based ● Web-based UI ● Scalable and Lightweight Cons: ● Python based ● Resource Intensive for Large Scale test ● Less Suitable for other Protocols

Slide 10

Slide 10 text

Load Testing is done. What do you do?

Slide 11

Slide 11 text

Sadly? Grunt work A load testing report. NB: Mostly done by QA ● Collect and Aggregate from your load tests ● Analyze results and create Visualizations (This helps a lot to paint of mental picture of what's going on with your application). ● Write the report (No shit sherlock). ● Include performance review suggestions ● Report Review by team members

Slide 12

Slide 12 text

Questions?

Slide 13

Slide 13 text

THANK YOU!