SlideShare a Scribd company logo
Preparing for
the Flood
How to Load Test to Prepare
your WordPress site for a
viral event.
Who is this idiot?
My name is Robert Li.
I’m a Solutions Engineer for WP Engine.
I’ve founded 3 startups and exited 1.
I have a 3 year old teacup pomeranian
named Chelsey.
I am a long suffering Knicks fan.
I love making WordPress do weird,
wonderful things.
Takeaways
1. Solutions
2. Why Load Test?
3. What do you need?
4. (Pray to the Demo Gods)
5. Demo
6. How do you prepare?
7. Let’s take a look
Degree of Difficulty: Nerd
Preparing For The Flood. How Do You Conduct Load Testing To Ready Your WordPress Site For Viral Events?
Preparing For The Flood. How Do You Conduct Load Testing To Ready Your WordPress Site For Viral Events?
Preparing For The Flood. How Do You Conduct Load Testing To Ready Your WordPress Site For Viral Events?
Preparing For The Flood. How Do You Conduct Load Testing To Ready Your WordPress Site For Viral Events?
Preparing For The Flood. How Do You Conduct Load Testing To Ready Your WordPress Site For Viral Events?
The problem
Your Site
You’ve created a site with
lots of cool features, that
has a great user
experience, and that
you’ve spend tonne’s of
money (or time) on.
Your Hosting
You’ve signed up to some
hosting that will fit your
new site, in its current
state.
It works great!
The Flood
You send a shirt to an
influencer, they wear it,
you actually start selling
stuff, which is great!
Then your site
goes down.
WHAT HAPPENED...
Preparing For The Flood. How Do You Conduct Load Testing To Ready Your WordPress Site For Viral Events?
So how many
cars can I
actually fit?
Solution
Let’s do some load testing!
Why Load Test?
Functional Tests don’t
reflect the Real World
Testing the functionality of your site or
application doesn’t reflect how users will
use it in real life. They may run across
bottlenecks in complex situations your
testing can’t account for.
Your code can behave
differently under load
Any changes to code to an established
website can cause it to behave
differently under load. Bugs can appear
that you didn’t detect in other testing.
Servers perform
differently under stress
When scaling to 100s, 1000s or
potentially Millions of concurrent users,
you may get completely different results
for CPU load, error rate, I/O throughput,
and response times.
Houston we
have a
problem
The cost of failure is extremely high.
50% of users will leave if a page takes longer than 6.5s to load. 1 minute of
downtime during Black Friday costs US$4700 on average. Downtime during a
peak traffic event damages brand integrity and creates a snowball effect.
https://royal.pingdom.com/page-load-time-really-affect-bounce-rate/
https://www.blazemeter.com/blog/why-load-testing-is-important/
What do you need?
Execution
How do you execute a load test?
Reaction
How does the server react to the
load test?
Load Testing Terms Primer
Scenarios - A template or script of what a user might do on a site.
Virtual Users/User Agents - Simulated users
Concurrency - How many actions and users are happening and on the site at any
given time
504, 502, 429 errors - When the server is either crapping itself, or protecting itself
from “crapping itself”.
.yaml - The file format that holds scenarios
Execution
Ingredients:
Servings: 1000vu
● Taurus - Open source, creates
the Virtual Users that perform
scenarios.
● Blazemeter - Visualizes the data
(can also execute load tests)
● jMeter - Software to help you
build and tweak scenarios
● Blazemeter Chrome Extension -
Records your actions on a
website to start as the basis for
a scenario
Reaction
Ingredients:
Servings: 1 overloaded server
htop sar -q 1
● Stackdriver/Cloudwatch - Server
monitoring (GCP/AWS).
OpenNMS is agnostic & open
source.
● New Relic - Monitoring the
application (WordPress) itself.
● Pingdom/Uptime
Robot/freshping - Measures
whether the website is up.
● htop/sar -q 1 - Command
Line (CLI) Live monitoring.
CAVEATS
DO NOT LOAD TEST…
❏ On your production
environment
❏ On a shared environment
❏ Without telling your host’s
support/security team
❏ On a site or web
application you don’t have
permission to blast.
x
x
x
x
LET’S START
Preparing For The Flood. How Do You Conduct Load Testing To Ready Your WordPress Site For Viral Events?
Preparing For The Flood. How Do You Conduct Load Testing To Ready Your WordPress Site For Viral Events?
Preparing For The Flood. How Do You Conduct Load Testing To Ready Your WordPress Site For Viral Events?
How do you prepare?
Do as much as
possible before testing
Decide what to complete and what to defer.
Bottlenecks found in functional testing?
Optimize to get a true to life response.
Deciding Test Type
Spike - How does a
system respond to a
sudden increase and
decrease in load? e.g.
A Live Online Event
Stress - How does a system
respond to consistent high
intensity loads? Where does
it fail? How does it recover?
e.g. A Flash Sale
Soak - How does a
system respond to
high load over time?
e.g. Black Friday
Creating Realistic
Scenarios
Start with the user journey
Your marketing and web team are
integral to generating realistic test
scenarios.
Have them map out ~5 user profiles
and journeys. Usually this is their
funnel
● From where and how do users
access the site?
● What do they do on the site?
● How do they arrive? In waves?
● How long do they stay?
Determine your KPIs
What is acceptable? Not what is
ideal. What level of existence are
you willing to accept?
Considerations:
● Response Time
● Error %
● Ratio of failed to successful
transactions
● Maximum requests per second
● Apdex Score
Start small before
scaling up big...
Do small scale testing to
discover errors and bottlenecks
in your own scenarios and with
your own tech stack.
Common Questions to ask
yourself:
● Is the script broken?
● Is it calling on a resource that
doesn’t exist or performing an
impossible action?
● Is the testing platform actually
the bottleneck?
● Are there optimizations I can
make to improve headroom?
What is the tipping point?
When does acceptable become unacceptable?
Under load is 80% usage
Test for 120% usage
When number of hits/s
plateaus this indicates:
● System can no longer
support extra concurrent
requests
● You are at max
concurrent users.
LET’S TAKE A LOOK
Preparing For The Flood. How Do You Conduct Load Testing To Ready Your WordPress Site For Viral Events?
WHAT DO YOU DO NOW?
Analyze > Tune > Retest > Rinse and Repeat
https://wpengine.com/blog/preparing-for-the-holiday-rush-a-load-testing-guide/
Questions?
Robert Li
E: robert.li@wpengine.com
P: +61-(0)-7-5613-1084
SM: LinkedIn (Look Left!)
https://www.linkedin.com/in/robert-li
Download: https://dsh.re/896ac

More Related Content

PPTX
Performance Tuning Web Apps - The Need For Speed
PDF
Measuring Web Performance (HighEdWeb FL Edition)
PDF
Debugging WooCommerce - WooConf Talk
PPTX
Browsers
PDF
Breaking out of the Tetris mind set #btconf
PPT
Smarr Oscon 2007
PPTX
Make JavaScript Faster
PDF
Moore vs. May - everything is faster and better: we can fix that
Performance Tuning Web Apps - The Need For Speed
Measuring Web Performance (HighEdWeb FL Edition)
Debugging WooCommerce - WooConf Talk
Browsers
Breaking out of the Tetris mind set #btconf
Smarr Oscon 2007
Make JavaScript Faster
Moore vs. May - everything is faster and better: we can fix that

What's hot (20)

ODP
Web performance101
PDF
The State of the Web - Helsinki meetup
PPT
Steve Huffman - Lessons learned while at reddit.com
PDF
How I Learned to Stop Worrying and Love the Update Button
PDF
Turning huge ships - Open Source and Microsoft
PDF
WordCamp Nashville 2016: The promise and peril of Agile and Lean practices
PPTX
Surviving Black Friday - CodeMotion
PPTX
How I learned to stop worrying and love UX metrics
PDF
3 tips to make your Wordpress site faster
PDF
Performance.now() fast but not furious
PPT
IWMW 2009: Lightweight Web Management
PPTX
Creating change from within - DevReach 2012
PDF
The image problem of the web and how to solve it…
PPTX
Debugging WordPress for Site Owners
PPTX
Angular – Say Goodbye to Javascript Soup
PPT
Listening in on a Conversation
PDF
Magento Optimization Whitepaper
PDF
The wheel is spinning but the hamster is almost dead - Smartweb 2015
PDF
Cache is keeping you from reaching the full potential as a developer (word ca...
PPTX
Cyber-security tips: the heartbleed bug
Web performance101
The State of the Web - Helsinki meetup
Steve Huffman - Lessons learned while at reddit.com
How I Learned to Stop Worrying and Love the Update Button
Turning huge ships - Open Source and Microsoft
WordCamp Nashville 2016: The promise and peril of Agile and Lean practices
Surviving Black Friday - CodeMotion
How I learned to stop worrying and love UX metrics
3 tips to make your Wordpress site faster
Performance.now() fast but not furious
IWMW 2009: Lightweight Web Management
Creating change from within - DevReach 2012
The image problem of the web and how to solve it…
Debugging WordPress for Site Owners
Angular – Say Goodbye to Javascript Soup
Listening in on a Conversation
Magento Optimization Whitepaper
The wheel is spinning but the hamster is almost dead - Smartweb 2015
Cache is keeping you from reaching the full potential as a developer (word ca...
Cyber-security tips: the heartbleed bug
Ad

Similar to Preparing For The Flood. How Do You Conduct Load Testing To Ready Your WordPress Site For Viral Events? (20)

PDF
A Perfect Launch, Every Time
PPTX
Flight checks -QA for Releases that Prevent Disasters from Escaping into the ...
PPTX
Tis The Season: Load Testing Tips and Checklist for Retail Seasonal Readiness
PPTX
Tis The Season: Load Testing Tips and Checklist for Retail Seasonal Readiness
PPT
Windy cityrails performance_tuning
PPT
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
PDF
Web Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger Bartel
PDF
2019 StartIT - Boosting your performance with Blackfire
PPTX
Applying a Methodical Approach to Website Performance
PDF
Machine learning pipeline
PPTX
Advanced Error Handling Strategies for ColdFusion
PDF
Website qa
PPT
What Are We Still Doing Wrong
PPTX
Automated tests
PDF
Scaling a Web Site - OSCON Tutorial
PDF
Gatling workshop lets test17
PPTX
Production debugging web applications
PPTX
Diana Carciu - Performance Testing with SoapUi and Siege.pptx
PDF
Feedback Loops
DOCX
Devops interview questions
A Perfect Launch, Every Time
Flight checks -QA for Releases that Prevent Disasters from Escaping into the ...
Tis The Season: Load Testing Tips and Checklist for Retail Seasonal Readiness
Tis The Season: Load Testing Tips and Checklist for Retail Seasonal Readiness
Windy cityrails performance_tuning
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
Web Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger Bartel
2019 StartIT - Boosting your performance with Blackfire
Applying a Methodical Approach to Website Performance
Machine learning pipeline
Advanced Error Handling Strategies for ColdFusion
Website qa
What Are We Still Doing Wrong
Automated tests
Scaling a Web Site - OSCON Tutorial
Gatling workshop lets test17
Production debugging web applications
Diana Carciu - Performance Testing with SoapUi and Siege.pptx
Feedback Loops
Devops interview questions
Ad

More from WordCamp Sydney (20)

PDF
Don’t Panic: How To Troubleshoot Your WordPress Site
PDF
WordPress Hosting Survival Guide
PDF
Goodbye Themes, Hello Elementor – Beyond Creating Basic Websites
PDF
Divi 4.x and WooCommerce Changes
PDF
Why No One Is Reading Your Blog Posts (And How To Change That)
PDF
Our Wild Journey Implementing A Headless WordPress Blog
PDF
Escaping Client Hell: 6 Practical Tips To Make Freelancing Fun Again
PDF
Planning Your Website Roadmap: Why Every Website Project Needs One To Save It...
PDF
Website Delivered – It’s The START Of The Relationship!
PDF
5 Steps To Avoiding Burnout: Creating A Healthy Work/Life Balance
PDF
The Healthy Baker - Flipping the Brief
PDF
Gutenberg Block Editor Tips & Tricks
PDF
Let's Get Engaged
PDF
The Science Of WordPress
PDF
Basics of Search Engine Optimisation
PDF
The Future of Web Content (an introduction to the new WordPress editor)
PDF
Beyond the Theme: Affirming the role of the designer in the WordPress ecosystem
PDF
5 Ecommerce Trends to Implement Now
PDF
Modern Local Environment for WordPress in 2018
PDF
Diagnosing WordPress: What to do when things go wrong
Don’t Panic: How To Troubleshoot Your WordPress Site
WordPress Hosting Survival Guide
Goodbye Themes, Hello Elementor – Beyond Creating Basic Websites
Divi 4.x and WooCommerce Changes
Why No One Is Reading Your Blog Posts (And How To Change That)
Our Wild Journey Implementing A Headless WordPress Blog
Escaping Client Hell: 6 Practical Tips To Make Freelancing Fun Again
Planning Your Website Roadmap: Why Every Website Project Needs One To Save It...
Website Delivered – It’s The START Of The Relationship!
5 Steps To Avoiding Burnout: Creating A Healthy Work/Life Balance
The Healthy Baker - Flipping the Brief
Gutenberg Block Editor Tips & Tricks
Let's Get Engaged
The Science Of WordPress
Basics of Search Engine Optimisation
The Future of Web Content (an introduction to the new WordPress editor)
Beyond the Theme: Affirming the role of the designer in the WordPress ecosystem
5 Ecommerce Trends to Implement Now
Modern Local Environment for WordPress in 2018
Diagnosing WordPress: What to do when things go wrong

Recently uploaded (20)

PDF
Kishore Vora - Best CFO in India to watch in 2025.pdf
PDF
Satish NS: Fostering Innovation and Sustainability: Haier India’s Customer-Ce...
PDF
THE COMPLETE GUIDE TO BUILDING PASSIVE INCOME ONLINE
PPTX
Astra-Investor- business Presentation (1).pptx
PDF
Ron Thomas - Top Influential Business Leaders Shaping the Modern Industry – 2025
PPTX
Project Management_ SMART Projects Class.pptx
PPT
Lecture 3344;;,,(,(((((((((((((((((((((((
PPTX
chapter 2 entrepreneurship full lecture ppt
PDF
NEW - FEES STRUCTURES (01-july-2024).pdf
PDF
1911 Gold Corporate Presentation Aug 2025.pdf
PDF
Family Law: The Role of Communication in Mediation (www.kiu.ac.ug)
PPTX
operations management : demand supply ch
PDF
Chapter 2 - AI chatbots and prompt engineering.pdf
DOCX
Center Enamel A Strategic Partner for the Modernization of Georgia's Chemical...
PDF
Susan Semmelmann: Enriching the Lives of others through her Talents and Bless...
PPTX
Slide gioi thieu VietinBank Quy 2 - 2025
PPTX
basic introduction to research chapter 1.pptx
DOCX
Center Enamel Powering Innovation and Resilience in the Italian Chemical Indu...
PDF
ANALYZING THE OPPORTUNITIES OF DIGITAL MARKETING IN BANGLADESH TO PROVIDE AN ...
PDF
Nante Industrial Plug Factory: Engineering Quality for Modern Power Applications
Kishore Vora - Best CFO in India to watch in 2025.pdf
Satish NS: Fostering Innovation and Sustainability: Haier India’s Customer-Ce...
THE COMPLETE GUIDE TO BUILDING PASSIVE INCOME ONLINE
Astra-Investor- business Presentation (1).pptx
Ron Thomas - Top Influential Business Leaders Shaping the Modern Industry – 2025
Project Management_ SMART Projects Class.pptx
Lecture 3344;;,,(,(((((((((((((((((((((((
chapter 2 entrepreneurship full lecture ppt
NEW - FEES STRUCTURES (01-july-2024).pdf
1911 Gold Corporate Presentation Aug 2025.pdf
Family Law: The Role of Communication in Mediation (www.kiu.ac.ug)
operations management : demand supply ch
Chapter 2 - AI chatbots and prompt engineering.pdf
Center Enamel A Strategic Partner for the Modernization of Georgia's Chemical...
Susan Semmelmann: Enriching the Lives of others through her Talents and Bless...
Slide gioi thieu VietinBank Quy 2 - 2025
basic introduction to research chapter 1.pptx
Center Enamel Powering Innovation and Resilience in the Italian Chemical Indu...
ANALYZING THE OPPORTUNITIES OF DIGITAL MARKETING IN BANGLADESH TO PROVIDE AN ...
Nante Industrial Plug Factory: Engineering Quality for Modern Power Applications

Preparing For The Flood. How Do You Conduct Load Testing To Ready Your WordPress Site For Viral Events?

  • 1. Preparing for the Flood How to Load Test to Prepare your WordPress site for a viral event.
  • 2. Who is this idiot? My name is Robert Li. I’m a Solutions Engineer for WP Engine. I’ve founded 3 startups and exited 1. I have a 3 year old teacup pomeranian named Chelsey. I am a long suffering Knicks fan. I love making WordPress do weird, wonderful things.
  • 3. Takeaways 1. Solutions 2. Why Load Test? 3. What do you need? 4. (Pray to the Demo Gods) 5. Demo 6. How do you prepare? 7. Let’s take a look Degree of Difficulty: Nerd
  • 9. The problem Your Site You’ve created a site with lots of cool features, that has a great user experience, and that you’ve spend tonne’s of money (or time) on. Your Hosting You’ve signed up to some hosting that will fit your new site, in its current state. It works great! The Flood You send a shirt to an influencer, they wear it, you actually start selling stuff, which is great! Then your site goes down. WHAT HAPPENED...
  • 11. So how many cars can I actually fit?
  • 12. Solution Let’s do some load testing!
  • 14. Functional Tests don’t reflect the Real World Testing the functionality of your site or application doesn’t reflect how users will use it in real life. They may run across bottlenecks in complex situations your testing can’t account for.
  • 15. Your code can behave differently under load Any changes to code to an established website can cause it to behave differently under load. Bugs can appear that you didn’t detect in other testing.
  • 16. Servers perform differently under stress When scaling to 100s, 1000s or potentially Millions of concurrent users, you may get completely different results for CPU load, error rate, I/O throughput, and response times. Houston we have a problem
  • 17. The cost of failure is extremely high. 50% of users will leave if a page takes longer than 6.5s to load. 1 minute of downtime during Black Friday costs US$4700 on average. Downtime during a peak traffic event damages brand integrity and creates a snowball effect. https://royal.pingdom.com/page-load-time-really-affect-bounce-rate/ https://www.blazemeter.com/blog/why-load-testing-is-important/
  • 18. What do you need?
  • 19. Execution How do you execute a load test? Reaction How does the server react to the load test?
  • 20. Load Testing Terms Primer Scenarios - A template or script of what a user might do on a site. Virtual Users/User Agents - Simulated users Concurrency - How many actions and users are happening and on the site at any given time 504, 502, 429 errors - When the server is either crapping itself, or protecting itself from “crapping itself”. .yaml - The file format that holds scenarios
  • 21. Execution Ingredients: Servings: 1000vu ● Taurus - Open source, creates the Virtual Users that perform scenarios. ● Blazemeter - Visualizes the data (can also execute load tests) ● jMeter - Software to help you build and tweak scenarios ● Blazemeter Chrome Extension - Records your actions on a website to start as the basis for a scenario
  • 22. Reaction Ingredients: Servings: 1 overloaded server htop sar -q 1 ● Stackdriver/Cloudwatch - Server monitoring (GCP/AWS). OpenNMS is agnostic & open source. ● New Relic - Monitoring the application (WordPress) itself. ● Pingdom/Uptime Robot/freshping - Measures whether the website is up. ● htop/sar -q 1 - Command Line (CLI) Live monitoring.
  • 23. CAVEATS DO NOT LOAD TEST… ❏ On your production environment ❏ On a shared environment ❏ Without telling your host’s support/security team ❏ On a site or web application you don’t have permission to blast. x x x x
  • 28. How do you prepare?
  • 29. Do as much as possible before testing Decide what to complete and what to defer. Bottlenecks found in functional testing? Optimize to get a true to life response.
  • 30. Deciding Test Type Spike - How does a system respond to a sudden increase and decrease in load? e.g. A Live Online Event Stress - How does a system respond to consistent high intensity loads? Where does it fail? How does it recover? e.g. A Flash Sale Soak - How does a system respond to high load over time? e.g. Black Friday
  • 31. Creating Realistic Scenarios Start with the user journey Your marketing and web team are integral to generating realistic test scenarios. Have them map out ~5 user profiles and journeys. Usually this is their funnel ● From where and how do users access the site? ● What do they do on the site? ● How do they arrive? In waves? ● How long do they stay?
  • 32. Determine your KPIs What is acceptable? Not what is ideal. What level of existence are you willing to accept? Considerations: ● Response Time ● Error % ● Ratio of failed to successful transactions ● Maximum requests per second ● Apdex Score
  • 33. Start small before scaling up big... Do small scale testing to discover errors and bottlenecks in your own scenarios and with your own tech stack. Common Questions to ask yourself: ● Is the script broken? ● Is it calling on a resource that doesn’t exist or performing an impossible action? ● Is the testing platform actually the bottleneck? ● Are there optimizations I can make to improve headroom?
  • 34. What is the tipping point? When does acceptable become unacceptable?
  • 35. Under load is 80% usage Test for 120% usage When number of hits/s plateaus this indicates: ● System can no longer support extra concurrent requests ● You are at max concurrent users.
  • 38. WHAT DO YOU DO NOW? Analyze > Tune > Retest > Rinse and Repeat
  • 40. Questions? Robert Li E: robert.li@wpengine.com P: +61-(0)-7-5613-1084 SM: LinkedIn (Look Left!) https://www.linkedin.com/in/robert-li Download: https://dsh.re/896ac