SlideShare une entreprise Scribd logo
1  sur  40
Télécharger pour lire hors ligne
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

Contenu connexe

Tendances

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 meetupChristian Heilmann
 
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.comCarsonified Team
 
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 Buttonchris-koerner
 
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 MicrosoftChristian Heilmann
 
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 practicesmtoppa
 
Surviving Black Friday - CodeMotion
Surviving Black Friday - CodeMotionSurviving Black Friday - CodeMotion
Surviving Black Friday - CodeMotionOmri Fima
 
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 metricsTammy Everts
 
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 fasterJonathan Alford
 
Performance.now() fast but not furious
Performance.now()   fast but not furiousPerformance.now()   fast but not furious
Performance.now() fast but not furiousAnna Migas
 
IWMW 2009: Lightweight Web Management
IWMW 2009: Lightweight Web ManagementIWMW 2009: Lightweight Web Management
IWMW 2009: Lightweight Web ManagementIWMW
 
Creating change from within - DevReach 2012
Creating change from within - DevReach 2012Creating change from within - DevReach 2012
Creating change from within - DevReach 2012Dror Helper
 
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
 
Debugging WordPress for Site Owners
Debugging WordPress for Site OwnersDebugging WordPress for Site Owners
Debugging WordPress for Site OwnersAndrew Wikel
 
Angular – Say Goodbye to Javascript Soup
Angular – Say Goodbye to Javascript SoupAngular – Say Goodbye to Javascript Soup
Angular – Say Goodbye to Javascript SoupGraeme Foster
 
Listening in on a Conversation
Listening in on a ConversationListening in on a Conversation
Listening in on a ConversationJulie Bohannon
 
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 2015Christian Heilmann
 
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...Thomas Audunhus
 
Cyber-security tips: the heartbleed bug
Cyber-security tips: the heartbleed bugCyber-security tips: the heartbleed bug
Cyber-security tips: the heartbleed bugDebbie Elicksen
 

Tendances (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
 

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

A Perfect Launch, Every Time
A Perfect Launch, Every TimeA Perfect Launch, Every Time
A Perfect Launch, Every TimePantheon
 
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 ...Brie Hoblin
 
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 ReadinessSOASTA
 
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 ReadinessSOASTA
 
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...John McCaffrey
 
Windy cityrails performance_tuning
Windy cityrails performance_tuningWindy cityrails performance_tuning
Windy cityrails performance_tuningJohn McCaffrey
 
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 BartelHolger 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 BlackfireMarko Mitranić
 
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 PerformancePostSharp Technologies
 
Machine learning pipeline
Machine learning pipelineMachine learning pipeline
Machine learning pipelineVadym Kuzmenko
 
Advanced Error Handling Strategies for ColdFusion
Advanced Error Handling Strategies for ColdFusion Advanced Error Handling Strategies for ColdFusion
Advanced Error Handling Strategies for ColdFusion Mary Jo Sminkey
 
What Are We Still Doing Wrong
What Are We Still Doing WrongWhat Are We Still Doing Wrong
What Are We Still Doing Wrongafa reg
 
Scaling a Web Site - OSCON Tutorial
Scaling a Web Site - OSCON TutorialScaling a Web Site - OSCON Tutorial
Scaling a Web Site - OSCON Tutorialduleepa
 
Gatling workshop lets test17
Gatling workshop lets test17Gatling workshop lets test17
Gatling workshop lets test17Gerald Muecke
 
Production debugging web applications
Production debugging web applicationsProduction debugging web applications
Production debugging web applicationsIdo Flatow
 
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.pptxCodecamp Romania
 

Similaire à 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
 

Plus de WordCamp Sydney

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 SiteWordCamp Sydney
 
WordPress Hosting Survival Guide
WordPress Hosting Survival Guide WordPress Hosting Survival Guide
WordPress Hosting Survival Guide WordCamp Sydney
 
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 WebsitesWordCamp Sydney
 
Divi 4.x and WooCommerce Changes
Divi 4.x and WooCommerce ChangesDivi 4.x and WooCommerce Changes
Divi 4.x and WooCommerce ChangesWordCamp Sydney
 
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)WordCamp Sydney
 
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 BlogWordCamp Sydney
 
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 AgainWordCamp Sydney
 
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...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
 
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 BalanceWordCamp Sydney
 
The Healthy Baker - Flipping the Brief
The Healthy Baker - Flipping the BriefThe Healthy Baker - Flipping the Brief
The Healthy Baker - Flipping the BriefWordCamp Sydney
 
Gutenberg Block Editor Tips & Tricks
Gutenberg Block Editor Tips & Tricks Gutenberg Block Editor Tips & Tricks
Gutenberg Block Editor Tips & Tricks WordCamp Sydney
 
The Science Of WordPress
The Science Of WordPressThe Science Of WordPress
The Science Of WordPressWordCamp Sydney
 
Basics of Search Engine Optimisation
Basics of Search Engine OptimisationBasics of Search Engine Optimisation
Basics of Search Engine OptimisationWordCamp Sydney
 
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)WordCamp Sydney
 
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 ecosystemWordCamp Sydney
 
5 Ecommerce Trends to Implement Now
5 Ecommerce Trends to Implement Now5 Ecommerce Trends to Implement Now
5 Ecommerce Trends to Implement NowWordCamp Sydney
 
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 2018WordCamp Sydney
 
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 wrongWordCamp Sydney
 

Plus de 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
 

Dernier

Boost the utilization of your HCL environment by reevaluating use cases and f...
Boost the utilization of your HCL environment by reevaluating use cases and f...Boost the utilization of your HCL environment by reevaluating use cases and f...
Boost the utilization of your HCL environment by reevaluating use cases and f...Roland Driesen
 
VIP Call Girls Gandi Maisamma ( Hyderabad ) Phone 8250192130 | ₹5k To 25k Wit...
VIP Call Girls Gandi Maisamma ( Hyderabad ) Phone 8250192130 | ₹5k To 25k Wit...VIP Call Girls Gandi Maisamma ( Hyderabad ) Phone 8250192130 | ₹5k To 25k Wit...
VIP Call Girls Gandi Maisamma ( Hyderabad ) Phone 8250192130 | ₹5k To 25k Wit...Suhani Kapoor
 
Cracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptxCracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptxWorkforce Group
 
Value Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsValue Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsP&CO
 
0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdf0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdfRenandantas16
 
7.pdf This presentation captures many uses and the significance of the number...
7.pdf This presentation captures many uses and the significance of the number...7.pdf This presentation captures many uses and the significance of the number...
7.pdf This presentation captures many uses and the significance of the number...Paul Menig
 
Unlocking the Secrets of Affiliate Marketing.pdf
Unlocking the Secrets of Affiliate Marketing.pdfUnlocking the Secrets of Affiliate Marketing.pdf
Unlocking the Secrets of Affiliate Marketing.pdfOnline Income Engine
 
A DAY IN THE LIFE OF A SALESMAN / WOMAN
A DAY IN THE LIFE OF A  SALESMAN / WOMANA DAY IN THE LIFE OF A  SALESMAN / WOMAN
A DAY IN THE LIFE OF A SALESMAN / WOMANIlamathiKannappan
 
Insurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usageInsurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usageMatteo Carbone
 
Creating Low-Code Loan Applications using the Trisotech Mortgage Feature Set
Creating Low-Code Loan Applications using the Trisotech Mortgage Feature SetCreating Low-Code Loan Applications using the Trisotech Mortgage Feature Set
Creating Low-Code Loan Applications using the Trisotech Mortgage Feature SetDenis Gagné
 
A305_A2_file_Batkhuu progress report.pdf
A305_A2_file_Batkhuu progress report.pdfA305_A2_file_Batkhuu progress report.pdf
A305_A2_file_Batkhuu progress report.pdftbatkhuu1
 
Call Girls in Gomti Nagar - 7388211116 - With room Service
Call Girls in Gomti Nagar - 7388211116  - With room ServiceCall Girls in Gomti Nagar - 7388211116  - With room Service
Call Girls in Gomti Nagar - 7388211116 - With room Servicediscovermytutordmt
 
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
 
Pharma Works Profile of Karan Communications
Pharma Works Profile of Karan CommunicationsPharma Works Profile of Karan Communications
Pharma Works Profile of Karan Communicationskarancommunications
 
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...Roland Driesen
 
Best Basmati Rice Manufacturers in India
Best Basmati Rice Manufacturers in IndiaBest Basmati Rice Manufacturers in India
Best Basmati Rice Manufacturers in IndiaShree Krishna Exports
 
Grateful 7 speech thanking everyone that has helped.pdf
Grateful 7 speech thanking everyone that has helped.pdfGrateful 7 speech thanking everyone that has helped.pdf
Grateful 7 speech thanking everyone that has helped.pdfPaul Menig
 

Dernier (20)

Boost the utilization of your HCL environment by reevaluating use cases and f...
Boost the utilization of your HCL environment by reevaluating use cases and f...Boost the utilization of your HCL environment by reevaluating use cases and f...
Boost the utilization of your HCL environment by reevaluating use cases and f...
 
VIP Call Girls Gandi Maisamma ( Hyderabad ) Phone 8250192130 | ₹5k To 25k Wit...
VIP Call Girls Gandi Maisamma ( Hyderabad ) Phone 8250192130 | ₹5k To 25k Wit...VIP Call Girls Gandi Maisamma ( Hyderabad ) Phone 8250192130 | ₹5k To 25k Wit...
VIP Call Girls Gandi Maisamma ( Hyderabad ) Phone 8250192130 | ₹5k To 25k Wit...
 
Cracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptxCracking the Cultural Competence Code.pptx
Cracking the Cultural Competence Code.pptx
 
VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
VVVIP Call Girls In Greater Kailash ➡️ Delhi ➡️ 9999965857 🚀 No Advance 24HRS...
 
Value Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and painsValue Proposition canvas- Customer needs and pains
Value Proposition canvas- Customer needs and pains
 
0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdf0183760ssssssssssssssssssssssssssss00101011 (27).pdf
0183760ssssssssssssssssssssssssssss00101011 (27).pdf
 
Forklift Operations: Safety through Cartoons
Forklift Operations: Safety through CartoonsForklift Operations: Safety through Cartoons
Forklift Operations: Safety through Cartoons
 
7.pdf This presentation captures many uses and the significance of the number...
7.pdf This presentation captures many uses and the significance of the number...7.pdf This presentation captures many uses and the significance of the number...
7.pdf This presentation captures many uses and the significance of the number...
 
Unlocking the Secrets of Affiliate Marketing.pdf
Unlocking the Secrets of Affiliate Marketing.pdfUnlocking the Secrets of Affiliate Marketing.pdf
Unlocking the Secrets of Affiliate Marketing.pdf
 
A DAY IN THE LIFE OF A SALESMAN / WOMAN
A DAY IN THE LIFE OF A  SALESMAN / WOMANA DAY IN THE LIFE OF A  SALESMAN / WOMAN
A DAY IN THE LIFE OF A SALESMAN / WOMAN
 
Insurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usageInsurers' journeys to build a mastery in the IoT usage
Insurers' journeys to build a mastery in the IoT usage
 
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabiunwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
unwanted pregnancy Kit [+918133066128] Abortion Pills IN Dubai UAE Abudhabi
 
Creating Low-Code Loan Applications using the Trisotech Mortgage Feature Set
Creating Low-Code Loan Applications using the Trisotech Mortgage Feature SetCreating Low-Code Loan Applications using the Trisotech Mortgage Feature Set
Creating Low-Code Loan Applications using the Trisotech Mortgage Feature Set
 
A305_A2_file_Batkhuu progress report.pdf
A305_A2_file_Batkhuu progress report.pdfA305_A2_file_Batkhuu progress report.pdf
A305_A2_file_Batkhuu progress report.pdf
 
Call Girls in Gomti Nagar - 7388211116 - With room Service
Call Girls in Gomti Nagar - 7388211116  - With room ServiceCall Girls in Gomti Nagar - 7388211116  - With room Service
Call Girls in Gomti Nagar - 7388211116 - With room Service
 
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...
 
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...
 
Best Basmati Rice Manufacturers in India
Best Basmati Rice Manufacturers in IndiaBest Basmati Rice Manufacturers in India
Best Basmati Rice Manufacturers in India
 
Grateful 7 speech thanking everyone that has helped.pdf
Grateful 7 speech thanking everyone that has helped.pdfGrateful 7 speech thanking everyone that has helped.pdf
Grateful 7 speech thanking everyone that has helped.pdf
 

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