Load Testing
Best Practices
With a Spree App
(▰˘◡˘▰)
What is
load testing?
Load Testing ≠ Wikipedia!
Software
Quality Assurance
Load Testing
Load testing is ...
Performance testing
Load testing
Stress testing
Endurance testing
Why do we need it?
http://images2.fanpop.com/images/photos/3100000/why-so-serious-the-joker-3122768-1024-768.jpg
Black Friday
Cyber Monday
Best practices?
Plan
Configure
Script
Execute
Analyze
http://www.neustar.biz/resources/whitepapers/load-testing-best-practices-whitepaper
Example time!
RNA Reset
PLAN:
What?
Length?
Costs?
Type?
Limitations?
What are we testing?
25,000 people
Influx of users
Database is OK?
Too front-end heavy?
How long to test?
http://img1.wikia.nocookie.net/__cb20130624212044/disney/images/8/8b/White_Rabbit.gif
Cost prohibitive?
https://s3.amazonaws.com/assets.svpply.com/large/975631.jpg
What kind? What type?
Load?
Stress?
Endurance?
Optimization?
Any Limitations?
Configure:
Setup?
Users?
Duration?
Staging?
What's the Setup?
How large are the servers?
How many web servers are needed?
How many users?
http://static.guim.co.uk/sys-images/Guardian/Pix/pictures/2013/1/30/1359549064145/Crowd-of-people-008.jpg
What's the Test Duration?
http://upload.wikimedia.org/wikipedia/commons/3/37/Clock.gif
Is Staging set up properly?
http://community.weber.edu/deeeventscenter/images/stage-set-up-1.jpg
Script:
Simple
Requests
Ruby
JMeter
Keep it simple!
http://www.hispanicallyspeakingnews.com/uploads/images/amigo-o-enemigo/KISS2-300x291.gif
HTTP Requests
JSON? TEXT?
Ruby is the best!
JMeter
Execute:
App Monitoring Tools
Load Testing Tools
Pick your poison...
App Monitoring Tools
Skylight
New Relic
Server Density
AppDynamics
Load Testing Tools
LoadImpact.com
Blitz.io
Loader.io
Flood.io
Analyze:
Results
Optimize
What to Optimize
Bottom Line:
Best Practices
1) Plan
2) Configure
3) Script
4) Execute
5) Analyze
6) ???
7) Profit!
Thank you!
@mookiy
risa@ninefold.com
(▰˘◡˘▰)
Load Testing Best Practices (incomplete)
By rbatta
Load Testing Best Practices (incomplete)
Quality assurance: Load Testing Best Practices (with a Spree app)
- 1,408