SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Downloaden Sie, um offline zu lesen
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
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...
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
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
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

Weitere ähnliche Inhalte

Was ist angesagt?

The image problem of the web and how to solve it…
The image problem of the web and how to solve it…The image problem of the web and how to solve it…
The image problem of the web and how to solve it…
Christian Heilmann
 
Angular – Say Goodbye to Javascript Soup
Angular – Say Goodbye to Javascript SoupAngular – Say Goodbye to Javascript Soup
Angular – Say Goodbye to Javascript Soup
Graeme Foster
 

Was ist angesagt? (20)

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

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

What Are We Still Doing Wrong
What Are We Still Doing WrongWhat Are We Still Doing Wrong
What Are We Still Doing Wrong
afa reg
 
Diana Carciu - Performance Testing with SoapUi and Siege.pptx
Diana Carciu - Performance Testing with SoapUi and Siege.pptxDiana Carciu - Performance Testing with SoapUi and Siege.pptx
Diana Carciu - Performance Testing with SoapUi and Siege.pptx
Codecamp Romania
 

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

A Perfect Launch, Every Time
A Perfect Launch, Every TimeA Perfect Launch, Every Time
A Perfect Launch, Every Time
 
Flight checks -QA for Releases that Prevent Disasters from Escaping into the ...
Flight checks -QA for Releases that Prevent Disasters from Escaping into the ...Flight checks -QA for Releases that Prevent Disasters from Escaping into the ...
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 ReadinessTis The Season: Load Testing Tips and Checklist for Retail Seasonal Readiness
Tis The Season: Load Testing Tips and Checklist for Retail Seasonal Readiness
 
Tis The Season: Load Testing Tips and Checklist for Retail Seasonal Readiness
Tis The Season: Load Testing Tips and Checklist for Retail Seasonal ReadinessTis The Season: Load Testing Tips and Checklist for Retail Seasonal Readiness
Tis The Season: Load Testing Tips and Checklist for Retail Seasonal Readiness
 
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
 
Windy cityrails performance_tuning
Windy cityrails performance_tuningWindy cityrails performance_tuning
Windy cityrails performance_tuning
 
Web Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger Bartel
Web Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger BartelWeb Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger Bartel
Web Performance in the Age of HTTP2 - Topconf Tallinn 2016 - Holger Bartel
 
2019 StartIT - Boosting your performance with Blackfire
2019 StartIT - Boosting your performance with Blackfire2019 StartIT - Boosting your performance with Blackfire
2019 StartIT - Boosting your performance with Blackfire
 
Applying a Methodical Approach to Website Performance
Applying a Methodical Approach to Website PerformanceApplying a Methodical Approach to Website Performance
Applying a Methodical Approach to Website Performance
 
Machine learning pipeline
Machine learning pipelineMachine learning pipeline
Machine learning pipeline
 
Advanced Error Handling Strategies for ColdFusion
Advanced Error Handling Strategies for ColdFusion Advanced Error Handling Strategies for ColdFusion
Advanced Error Handling Strategies for ColdFusion
 
Website qa
Website qaWebsite qa
Website qa
 
What Are We Still Doing Wrong
What Are We Still Doing WrongWhat Are We Still Doing Wrong
What Are We Still Doing Wrong
 
Automated tests
Automated testsAutomated tests
Automated tests
 
Scaling a Web Site - OSCON Tutorial
Scaling a Web Site - OSCON TutorialScaling a Web Site - OSCON Tutorial
Scaling a Web Site - OSCON Tutorial
 
Gatling workshop lets test17
Gatling workshop lets test17Gatling workshop lets test17
Gatling workshop lets test17
 
Production debugging web applications
Production debugging web applicationsProduction debugging web applications
Production debugging web applications
 
Diana Carciu - Performance Testing with SoapUi and Siege.pptx
Diana Carciu - Performance Testing with SoapUi and Siege.pptxDiana Carciu - Performance Testing with SoapUi and Siege.pptx
Diana Carciu - Performance Testing with SoapUi and Siege.pptx
 
Feedback Loops
Feedback LoopsFeedback Loops
Feedback Loops
 
Devops interview questions
Devops interview questionsDevops interview questions
Devops interview questions
 

Mehr von WordCamp Sydney

Website Delivered – It’s The START Of The Relationship!
Website Delivered – It’s The START Of The Relationship!Website Delivered – It’s The START Of The Relationship!
Website Delivered – It’s The START Of The Relationship!
WordCamp Sydney
 

Mehr von WordCamp Sydney (20)

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

Kürzlich hochgeladen

FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
dollysharma2066
 
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Dipal Arora
 
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
amitlee9823
 
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
lizamodels9
 
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service NoidaCall Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
dlhescort
 
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
amitlee9823
 

Kürzlich hochgeladen (20)

FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
FULL ENJOY Call Girls In Majnu Ka Tilla, Delhi Contact Us 8377877756
 
Pharma Works Profile of Karan Communications
Pharma Works Profile of Karan CommunicationsPharma Works Profile of Karan Communications
Pharma Works Profile of Karan Communications
 
Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...Ensure the security of your HCL environment by applying the Zero Trust princi...
Ensure the security of your HCL environment by applying the Zero Trust princi...
 
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
Call Girls Navi Mumbai Just Call 9907093804 Top Class Call Girl Service Avail...
 
Organizational Transformation Lead with Culture
Organizational Transformation Lead with CultureOrganizational Transformation Lead with Culture
Organizational Transformation Lead with Culture
 
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service AvailableCall Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
Call Girls Ludhiana Just Call 98765-12871 Top Class Call Girl Service Available
 
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service BangaloreCall Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
Call Girls Hebbal Just Call 👗 7737669865 👗 Top Class Call Girl Service Bangalore
 
Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023Mondelez State of Snacking and Future Trends 2023
Mondelez State of Snacking and Future Trends 2023
 
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
Call Girls In DLf Gurgaon ➥99902@11544 ( Best price)100% Genuine Escort In 24...
 
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
👉Chandigarh Call Girls 👉9878799926👉Just Call👉Chandigarh Call Girl In Chandiga...
 
Katrina Personal Brand Project and portfolio 1
Katrina Personal Brand Project and portfolio 1Katrina Personal Brand Project and portfolio 1
Katrina Personal Brand Project and portfolio 1
 
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
The Path to Product Excellence: Avoiding Common Pitfalls and Enhancing Commun...
 
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service NoidaCall Girls In Noida 959961⊹3876 Independent Escort Service Noida
Call Girls In Noida 959961⊹3876 Independent Escort Service Noida
 
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdfDr. Admir Softic_ presentation_Green Club_ENG.pdf
Dr. Admir Softic_ presentation_Green Club_ENG.pdf
 
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service AvailableCall Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
Call Girls Pune Just Call 9907093804 Top Class Call Girl Service Available
 
RSA Conference Exhibitor List 2024 - Exhibitors Data
RSA Conference Exhibitor List 2024 - Exhibitors DataRSA Conference Exhibitor List 2024 - Exhibitors Data
RSA Conference Exhibitor List 2024 - Exhibitors Data
 
Falcon Invoice Discounting platform in india
Falcon Invoice Discounting platform in indiaFalcon Invoice Discounting platform in india
Falcon Invoice Discounting platform in india
 
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
Enhancing and Restoring Safety & Quality Cultures - Dave Litwiller - May 2024...
 
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
Call Girls Electronic City Just Call 👗 7737669865 👗 Top Class Call Girl Servi...
 
Famous Olympic Siblings from the 21st Century
Famous Olympic Siblings from the 21st CenturyFamous Olympic Siblings from the 21st Century
Famous Olympic Siblings from the 21st Century
 

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
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 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...
  • 10.
  • 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
  • 25.
  • 26.
  • 27.
  • 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.
  • 37.
  • 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