SlideShare a Scribd company logo
1 of 49
Promet SourceMidCamp 2104
Stress testing and optimizing a
Drupal Commerce on a LAMP stack
Objectives
•Stress Test Drupal Commerce on a standard server
•Make a performance improvement
•Measure results & Repeat
•How to look at stress test results
•Which improvements made the biggest impact
What You’ll Learn
AboutAndy
• @AKUCHARSKI
• PROMET SOURCE FOUNDER
• @PROMETSOURCE
AboutPromet
•Focus on Drupal
•CMS platform
•Web applications
•Systems integration
•Practice areas
•Agile Development (Scrum, Kanban)
•DevOps (cook with Chef)
•Support (cover 24x7)
•Mobile (build native apps)
•Founded in 2003
•Global team
•30+ “Prometsters”
What Load Testing is not
http://www.flickr.com/photos/peterlozano
•Front End Performance Testing
•High Availability Analysis
Why Load Test
• Capacity Planning
• Capacity Testing
• Performance Tuning
Why care about performance?
Google Blog: 2011 – “We encourage you to start looking at your site’s speed— not only
to improve your ranking in search engines, but also to improve everyone’s
experience on the Internet. “
• Time = Money…
• Speed = Money…
• Slower Page load = Less Money
HTML DELAY EXPERIMENT
Determine impact of server delays
GOAL
 Delay before sending HTML page
 Different experiments with different delays
 Small % of traffic
 Monitor negative impact
METHODOLOGY
•LoadStorm.com is a load testing tool for websites
• Test scenarios such as login, e-commerce
• No scripting language needed
• Run large tests up to 500,000 concurrent users
• No download, no install, no servers to buy
Waterfall diagrams
•X = Time
•Y = Number of objects on
page
•Y(1) = HTTP Request –
rest of objects are
elements of the page,
images, CSS and js files,
etc, etc.
•Time to load all elements
•DNS Lookup – time it takes for browser to find the server
•Initial Connection – three way handshake, hard to control
•Time to First Byte – server wait time
•Content Download – how long it takes to transfer the
data from server to browser
• Back End
• Front End
• Render Start
• Render complete
The Victim – 37 objects on home page
Load Storm Hierarchy
PLAN
SCENARIO
STEPS
Test Plan
Script #1 Activity (User browses anonymously) (11%)
1. VUser hits the homepage
2. VUser goes to category #1
3. VUser goes to product #1 in category #1
4. VUser goes to category #2
5. VUser goes to product #2 in category #2
6. VUser goes to category #3
7. VUser goes to product #3 in category #3
8. End of session
Script #2 Activity (User browses after logging in) (10%)
1. VUser hits the homepage
2. VUser logs into an existing customer account
3. VUser goes to category #1
4. VUser goes to product #1 in category #1
5. VUser goes to category #2
6. VUser goes to product #2 in category #2
7. VUser goes to category #3
8. VUser goes to product #3 in category #3
9. VUser logs out
10. End of session
Test Plan
Script #3 Activity (User abandons a cart, requires login) (68% [2])
1. VUser hits homepage
2. VUser logs into an existing customer account
3. VUser goes to category #1
4. VUser goes to product #2 in category #1
5. VUser adds that product to her cart
6. VUser removes that product from her cart
7. VUser logs out
8. End of session
Script #4 Activity (User purchases a product, requires login) (3% [1])
1. VUser hits homepage
2. VUser logs into an existing customer account
3. VUser goes to category #1
4. VUser goes to product #3 in category #1
5. VUser adds that product to her cart
6. VUser reviews cart
7. VUser goes through the checkout process
8. VUser receives order confirmation
9. VUser logs out
10. End of session
Target: AWS Large
Target
Choke Point – around 100 users
• Standard LAMP Stack
• Drupal Commerce
Kickstart out of the
box, no caching turned on
Baseline
Choke Point – around 100 users
• Standard LAMP Stack
• Drupal Commerce
Kickstart out of the
box, no caching turned on
Baseline
Choke Point – around 100 users
• Standard LAMP Stack
• Drupal Commerce
Kickstart out of the
box, no caching turned on
Baseline
Choke Point – around 100 users
• Standard LAMP Stack
• Drupal Commerce
Kickstart out of the
box, no caching turned on
Baseline
Choke Point – around 100 users
• Standard LAMP Stack
• Drupal Commerce
Kickstart out of the box,
no caching turned on
Baseline
Choke Point – around 100 users
• Standard LAMP Stack
• Drupal Commerce
Kickstart out of the box,
no caching turned on
Baseline
Choke Point – around 300 users
• Standard LAMP Stack
• Drupal Commerce
• Drupal Cache On
Drupal Cache!
Choke Point – around 100 users
• Standard LAMP Stack
• Drupal Commerce
Kickstart out of the box,
no caching turned on
D.Cache
Choke Point – around 300 users
• Standard LAMP Stack
• Drupal Commerce
Kickstart out of the box,
no caching turned on
Drupal Cache!
Choke Point – around 300 users
• Standard LAMP Stack
• Drupal Commerce
Kickstart out of the
box, no caching turned on
Drupal Cache!
Choke Point – around 300 users
• Standard LAMP Stack
• Drupal Commerce
Kickstart out of the box,
no caching turned on
Drupal Cache!
Choke Point – around 300 users
• Standard LAMP Stack
• Drupal Commerce
Kickstart out of the box,
no caching turned on
Drupal Cache!
Choke Point – around 350 users
• Standard LAMP Stack
• Drupal Commerce
• Drupal Cache On + CSS +
JSC Aggregation
D.Cache + Agg
Choke Point – around 100 users
• Standard LAMP Stack
• Drupal Commerce
Kickstart out of the box,
no caching turned on
D.Cache + Agg
Choke Point – around 350 users
• Standard LAMP Stack
• Drupal Commerce
• Drupal Cache On + CSS +
JSC Aggregation
D.Cache + Agg
Choke Point – around 350 users
• Standard LAMP Stack
• Drupal Commerce
• Drupal Cache On + CSS +
JSC Aggregation
D.Cache + Agg
Choke Point – around 360 users
• Standard LAMP Stack
• Drupal Commerce
• Drupal Cache + Views
Cache
Views Cache
Choke Point – around 100 users
• Standard LAMP Stack
• Drupal Commerce
Kickstart out of the
box, no caching turned on
Views Cache
Choke Point – around 360 users
• Standard LAMP Stack
• Drupal Commerce
• Drupal Cache + Views
Cache
Views Cache
Choke Point – around 360 users
• Standard LAMP Stack
• Drupal Commerce
• Drupal Cache + Views
Cache
Views Cache
Choke Point – around 450 users
• Standard LAMP Stack
• Drupal Commerce
• Drupal caching
• Reverse Proxy
Reverse Proxy (nginx)
Choke Point – around 100 users
• Standard LAMP Stack
• Drupal Commerce
Kickstart out of the box,
no caching turned on
Reverse Proxy
Choke Point – around 450 users
• Standard LAMP Stack
• Drupal Commerce
• Drupal caching
• Reverse Proxy
Reverse Proxy (nginx)
Choke Point – around 450 users
• Standard LAMP Stack
• Drupal Commerce
• Drupal caching
• Reverse Proxy
Reverse Proxy (nginx)
Choke Point – around 450 users
• Standard LAMP Stack
• Drupal Commerce
• Drupal caching
• Reverse Proxy
Reverse Proxy (nginx)
Choke Point – around 450 users
• Standard LAMP Stack
• Drupal Commerce
• Drupal caching
• Reverse Proxy
Reverse Proxy (nginx)
LIVE DEMO
Pt_query_digest
Pt_query_digest
Questions?
andy@promethost.com
+1.773.525.8255
@akucharski
@prometsource

More Related Content

What's hot

Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYCScalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
Cal Henderson
 

What's hot (20)

Awr doag
Awr doagAwr doag
Awr doag
 
End-to-end Troubleshooting Checklist for Microsoft SQL Server
End-to-end Troubleshooting Checklist for Microsoft SQL ServerEnd-to-end Troubleshooting Checklist for Microsoft SQL Server
End-to-end Troubleshooting Checklist for Microsoft SQL Server
 
PDB Provisioning with Oracle Multitenant Self Service Application
PDB Provisioning with Oracle Multitenant Self Service ApplicationPDB Provisioning with Oracle Multitenant Self Service Application
PDB Provisioning with Oracle Multitenant Self Service Application
 
2017 OWASP SanFran March Meetup - Hacking SQL Server on Scale with PowerShell
2017 OWASP SanFran March Meetup - Hacking SQL Server on Scale with PowerShell2017 OWASP SanFran March Meetup - Hacking SQL Server on Scale with PowerShell
2017 OWASP SanFran March Meetup - Hacking SQL Server on Scale with PowerShell
 
New life inside monolithic application
New life inside monolithic applicationNew life inside monolithic application
New life inside monolithic application
 
Coscup
CoscupCoscup
Coscup
 
Web Speed And Scalability
Web Speed And ScalabilityWeb Speed And Scalability
Web Speed And Scalability
 
DrupalCon 2011 Highlight
DrupalCon 2011 HighlightDrupalCon 2011 Highlight
DrupalCon 2011 Highlight
 
PLSSUG - Troubleshoot SQL Server performance problems like a Microsoft Engineer
PLSSUG - Troubleshoot SQL Server performance problems like a Microsoft EngineerPLSSUG - Troubleshoot SQL Server performance problems like a Microsoft Engineer
PLSSUG - Troubleshoot SQL Server performance problems like a Microsoft Engineer
 
Plone pas.plugins.ldap user/group search
Plone pas.plugins.ldap user/group searchPlone pas.plugins.ldap user/group search
Plone pas.plugins.ldap user/group search
 
LVOUG meetup #2 - Forcing SQL Execution Plan Instability
LVOUG meetup #2 - Forcing SQL Execution Plan InstabilityLVOUG meetup #2 - Forcing SQL Execution Plan Instability
LVOUG meetup #2 - Forcing SQL Execution Plan Instability
 
WebLogic Scripting Tool Overview
WebLogic Scripting Tool OverviewWebLogic Scripting Tool Overview
WebLogic Scripting Tool Overview
 
Application Scalability in Server Farms - NCache
Application Scalability in Server Farms - NCacheApplication Scalability in Server Farms - NCache
Application Scalability in Server Farms - NCache
 
Oracle Enteprise Manager Cloud Control 12c - Setting Up Metrics and Monitorin...
Oracle Enteprise Manager Cloud Control 12c - Setting Up Metrics and Monitorin...Oracle Enteprise Manager Cloud Control 12c - Setting Up Metrics and Monitorin...
Oracle Enteprise Manager Cloud Control 12c - Setting Up Metrics and Monitorin...
 
WebLogic on ODA - Oracle Open World 2013
WebLogic on ODA - Oracle Open World 2013WebLogic on ODA - Oracle Open World 2013
WebLogic on ODA - Oracle Open World 2013
 
Understanding the Transaction Log, Your Key to Unlocking Greater Throughput
Understanding the Transaction Log, Your Key to Unlocking Greater ThroughputUnderstanding the Transaction Log, Your Key to Unlocking Greater Throughput
Understanding the Transaction Log, Your Key to Unlocking Greater Throughput
 
OpenNTF Domino API (ODA): Super-Charging Domino Development
OpenNTF Domino API (ODA): Super-Charging Domino DevelopmentOpenNTF Domino API (ODA): Super-Charging Domino Development
OpenNTF Domino API (ODA): Super-Charging Domino Development
 
NoSQL, no SQL injections?
NoSQL, no SQL injections?NoSQL, no SQL injections?
NoSQL, no SQL injections?
 
GlobalsDB: Its significance for Node.js Developers
GlobalsDB: Its significance for Node.js DevelopersGlobalsDB: Its significance for Node.js Developers
GlobalsDB: Its significance for Node.js Developers
 
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYCScalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
Scalable Web Architectures: Common Patterns and Approaches - Web 2.0 Expo NYC
 

Similar to Drupal commerce performance profiling and tunning using loadstorm experiments drupal mid camp chicago 2014

DrupalCamp LA 2014 - A Perfect Launch, Every Time
DrupalCamp LA 2014 - A Perfect Launch, Every TimeDrupalCamp LA 2014 - A Perfect Launch, Every Time
DrupalCamp LA 2014 - A Perfect Launch, Every Time
Suzanne Aldrich
 
Releasing To Production Every Week India
Releasing To Production Every Week   IndiaReleasing To Production Every Week   India
Releasing To Production Every Week India
exortech
 
Stanford DrupalCamp 2014 - A Perfect Launch, Every Time
Stanford DrupalCamp 2014 - A Perfect Launch, Every TimeStanford DrupalCamp 2014 - A Perfect Launch, Every Time
Stanford DrupalCamp 2014 - A Perfect Launch, Every Time
Suzanne Aldrich
 
Open Social In The Enterprise
Open Social In The EnterpriseOpen Social In The Enterprise
Open Social In The Enterprise
Tim Moore
 

Similar to Drupal commerce performance profiling and tunning using loadstorm experiments drupal mid camp chicago 2014 (20)

DrupalCamp LA 2014 - A Perfect Launch, Every Time
DrupalCamp LA 2014 - A Perfect Launch, Every TimeDrupalCamp LA 2014 - A Perfect Launch, Every Time
DrupalCamp LA 2014 - A Perfect Launch, Every Time
 
Performance Testing using Real Browsers with JMeter & Webdriver
Performance Testing using Real Browsers with JMeter & WebdriverPerformance Testing using Real Browsers with JMeter & Webdriver
Performance Testing using Real Browsers with JMeter & Webdriver
 
DrupalSouth 2015 - Performance: Not an Afterthought
DrupalSouth 2015 - Performance: Not an AfterthoughtDrupalSouth 2015 - Performance: Not an Afterthought
DrupalSouth 2015 - Performance: Not an Afterthought
 
DrupalCon Austin - Absolute Beginner's Guide to Drupal
DrupalCon Austin - Absolute Beginner's Guide to DrupalDrupalCon Austin - Absolute Beginner's Guide to Drupal
DrupalCon Austin - Absolute Beginner's Guide to Drupal
 
Cvcc performance tuning
Cvcc performance tuningCvcc performance tuning
Cvcc performance tuning
 
Getting your mobile test automation process in place - using Cucumber and Cal...
Getting your mobile test automation process in place - using Cucumber and Cal...Getting your mobile test automation process in place - using Cucumber and Cal...
Getting your mobile test automation process in place - using Cucumber and Cal...
 
Selling WordPress to Enterprises by Rahul Bansal @ WordCamp Ann Arbor
Selling WordPress to Enterprises by Rahul Bansal @ WordCamp Ann ArborSelling WordPress to Enterprises by Rahul Bansal @ WordCamp Ann Arbor
Selling WordPress to Enterprises by Rahul Bansal @ WordCamp Ann Arbor
 
Picnic Software - Developing a flexible and scalable application
Picnic Software - Developing a flexible and scalable applicationPicnic Software - Developing a flexible and scalable application
Picnic Software - Developing a flexible and scalable application
 
Dev Ops without the Ops
Dev Ops without the OpsDev Ops without the Ops
Dev Ops without the Ops
 
Releasing To Production Every Week India
Releasing To Production Every Week   IndiaReleasing To Production Every Week   India
Releasing To Production Every Week India
 
Staging and Deployment
Staging and DeploymentStaging and Deployment
Staging and Deployment
 
Continuous Integration, the minimum viable product
Continuous Integration, the minimum viable productContinuous Integration, the minimum viable product
Continuous Integration, the minimum viable product
 
High Performance Drupal
High Performance DrupalHigh Performance Drupal
High Performance Drupal
 
Auditing Drupal Sites for Performance, Content and Optimal Configuration - SA...
Auditing Drupal Sites for Performance, Content and Optimal Configuration - SA...Auditing Drupal Sites for Performance, Content and Optimal Configuration - SA...
Auditing Drupal Sites for Performance, Content and Optimal Configuration - SA...
 
DrupalCampLA 2014 - Drupal backend performance and scalability
DrupalCampLA 2014 - Drupal backend performance and scalabilityDrupalCampLA 2014 - Drupal backend performance and scalability
DrupalCampLA 2014 - Drupal backend performance and scalability
 
Stanford DrupalCamp 2014 - A Perfect Launch, Every Time
Stanford DrupalCamp 2014 - A Perfect Launch, Every TimeStanford DrupalCamp 2014 - A Perfect Launch, Every Time
Stanford DrupalCamp 2014 - A Perfect Launch, Every Time
 
Open Social In The Enterprise
Open Social In The EnterpriseOpen Social In The Enterprise
Open Social In The Enterprise
 
Training Slides: Tungsten Replicator AMI - The Getting Started Guide
Training Slides: Tungsten Replicator AMI - The Getting Started GuideTraining Slides: Tungsten Replicator AMI - The Getting Started Guide
Training Slides: Tungsten Replicator AMI - The Getting Started Guide
 
WordPress with WP Engine and the Agency Partner Program: Getting Set Up
WordPress with WP Engine and the Agency Partner Program: Getting Set UpWordPress with WP Engine and the Agency Partner Program: Getting Set Up
WordPress with WP Engine and the Agency Partner Program: Getting Set Up
 
Building the next generation of themes with WP Rig 2.0
Building the next generation of themes with WP Rig 2.0Building the next generation of themes with WP Rig 2.0
Building the next generation of themes with WP Rig 2.0
 

More from Andy Kucharski

PrometSource Mobile Development Capabilities
PrometSource Mobile Development Capabilities PrometSource Mobile Development Capabilities
PrometSource Mobile Development Capabilities
Andy Kucharski
 

More from Andy Kucharski (12)

Estimation - web software development estimation DrupalCon and DrupalCamp pre...
Estimation - web software development estimation DrupalCon and DrupalCamp pre...Estimation - web software development estimation DrupalCon and DrupalCamp pre...
Estimation - web software development estimation DrupalCon and DrupalCamp pre...
 
Drupal Camp Wroclaw 2015 Measure everything nps
Drupal Camp Wroclaw 2015 Measure everything npsDrupal Camp Wroclaw 2015 Measure everything nps
Drupal Camp Wroclaw 2015 Measure everything nps
 
Measure everything - but make NPS the Key
Measure everything - but make NPS the Key Measure everything - but make NPS the Key
Measure everything - but make NPS the Key
 
PrometSource Mobile Development Capabilities
PrometSource Mobile Development Capabilities PrometSource Mobile Development Capabilities
PrometSource Mobile Development Capabilities
 
2012 bad camp-project management tools and organization-v4
2012 bad camp-project management tools and organization-v42012 bad camp-project management tools and organization-v4
2012 bad camp-project management tools and organization-v4
 
Front End page speed performance improvements for Drupal
Front End page speed performance improvements for DrupalFront End page speed performance improvements for Drupal
Front End page speed performance improvements for Drupal
 
Stress Test Drupal on Amazon EC2 vs. RackSpace cloud
Stress Test Drupal on Amazon EC2 vs. RackSpace cloudStress Test Drupal on Amazon EC2 vs. RackSpace cloud
Stress Test Drupal on Amazon EC2 vs. RackSpace cloud
 
Drupal Business Summit - making your sites mobile accessible, four methods
Drupal Business Summit - making your sites mobile accessible, four methodsDrupal Business Summit - making your sites mobile accessible, four methods
Drupal Business Summit - making your sites mobile accessible, four methods
 
What should you expect from your Drupal Web Host
What should you expect from your Drupal Web HostWhat should you expect from your Drupal Web Host
What should you expect from your Drupal Web Host
 
Drupal campchicago2010.rachel.datamigration
Drupal campchicago2010.rachel.datamigrationDrupal campchicago2010.rachel.datamigration
Drupal campchicago2010.rachel.datamigration
 
Promet.manila2011.selling drupal
Promet.manila2011.selling drupalPromet.manila2011.selling drupal
Promet.manila2011.selling drupal
 
Make Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speedMake Drupal Run Fast - increase page load speed
Make Drupal Run Fast - increase page load speed
 

Recently uploaded

Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
FIDO Alliance
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc
 

Recently uploaded (20)

AI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by AnitarajAI in Action: Real World Use Cases by Anitaraj
AI in Action: Real World Use Cases by Anitaraj
 
API Governance and Monetization - The evolution of API governance
API Governance and Monetization -  The evolution of API governanceAPI Governance and Monetization -  The evolution of API governance
API Governance and Monetization - The evolution of API governance
 
Introduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDMIntroduction to use of FHIR Documents in ABDM
Introduction to use of FHIR Documents in ABDM
 
Working together SRE & Platform Engineering
Working together SRE & Platform EngineeringWorking together SRE & Platform Engineering
Working together SRE & Platform Engineering
 
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...Stronger Together: Developing an Organizational Strategy for Accessible Desig...
Stronger Together: Developing an Organizational Strategy for Accessible Desig...
 
CNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In PakistanCNIC Information System with Pakdata Cf In Pakistan
CNIC Information System with Pakdata Cf In Pakistan
 
JavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate GuideJavaScript Usage Statistics 2024 - The Ultimate Guide
JavaScript Usage Statistics 2024 - The Ultimate Guide
 
ChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps ProductivityChatGPT and Beyond - Elevating DevOps Productivity
ChatGPT and Beyond - Elevating DevOps Productivity
 
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptxHarnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
Harnessing Passkeys in the Battle Against AI-Powered Cyber Threats.pptx
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Design and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data ScienceDesign and Development of a Provenance Capture Platform for Data Science
Design and Development of a Provenance Capture Platform for Data Science
 
Navigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern EnterpriseNavigating Identity and Access Management in the Modern Enterprise
Navigating Identity and Access Management in the Modern Enterprise
 
WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Design Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptxDesign Guidelines for Passkeys 2024.pptx
Design Guidelines for Passkeys 2024.pptx
 
Simplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptxSimplifying Mobile A11y Presentation.pptx
Simplifying Mobile A11y Presentation.pptx
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
The Ultimate Prompt Engineering Guide for Generative AI: Get the Most Out of ...
 
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
TrustArc Webinar - Unified Trust Center for Privacy, Security, Compliance, an...
 
WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024WebRTC and SIP not just audio and video @ OpenSIPS 2024
WebRTC and SIP not just audio and video @ OpenSIPS 2024
 
Introduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptxIntroduction to FIDO Authentication and Passkeys.pptx
Introduction to FIDO Authentication and Passkeys.pptx
 

Drupal commerce performance profiling and tunning using loadstorm experiments drupal mid camp chicago 2014

  • 1. Promet SourceMidCamp 2104 Stress testing and optimizing a Drupal Commerce on a LAMP stack
  • 2. Objectives •Stress Test Drupal Commerce on a standard server •Make a performance improvement •Measure results & Repeat •How to look at stress test results •Which improvements made the biggest impact What You’ll Learn
  • 3. AboutAndy • @AKUCHARSKI • PROMET SOURCE FOUNDER • @PROMETSOURCE
  • 4. AboutPromet •Focus on Drupal •CMS platform •Web applications •Systems integration •Practice areas •Agile Development (Scrum, Kanban) •DevOps (cook with Chef) •Support (cover 24x7) •Mobile (build native apps) •Founded in 2003 •Global team •30+ “Prometsters”
  • 5. What Load Testing is not http://www.flickr.com/photos/peterlozano •Front End Performance Testing •High Availability Analysis
  • 6. Why Load Test • Capacity Planning • Capacity Testing • Performance Tuning
  • 7. Why care about performance? Google Blog: 2011 – “We encourage you to start looking at your site’s speed— not only to improve your ranking in search engines, but also to improve everyone’s experience on the Internet. “ • Time = Money… • Speed = Money… • Slower Page load = Less Money
  • 8. HTML DELAY EXPERIMENT Determine impact of server delays GOAL  Delay before sending HTML page  Different experiments with different delays  Small % of traffic  Monitor negative impact METHODOLOGY
  • 9.
  • 10.
  • 11. •LoadStorm.com is a load testing tool for websites • Test scenarios such as login, e-commerce • No scripting language needed • Run large tests up to 500,000 concurrent users • No download, no install, no servers to buy
  • 12. Waterfall diagrams •X = Time •Y = Number of objects on page •Y(1) = HTTP Request – rest of objects are elements of the page, images, CSS and js files, etc, etc. •Time to load all elements
  • 13. •DNS Lookup – time it takes for browser to find the server •Initial Connection – three way handshake, hard to control •Time to First Byte – server wait time •Content Download – how long it takes to transfer the data from server to browser
  • 14. • Back End • Front End • Render Start • Render complete
  • 15. The Victim – 37 objects on home page
  • 17. Test Plan Script #1 Activity (User browses anonymously) (11%) 1. VUser hits the homepage 2. VUser goes to category #1 3. VUser goes to product #1 in category #1 4. VUser goes to category #2 5. VUser goes to product #2 in category #2 6. VUser goes to category #3 7. VUser goes to product #3 in category #3 8. End of session Script #2 Activity (User browses after logging in) (10%) 1. VUser hits the homepage 2. VUser logs into an existing customer account 3. VUser goes to category #1 4. VUser goes to product #1 in category #1 5. VUser goes to category #2 6. VUser goes to product #2 in category #2 7. VUser goes to category #3 8. VUser goes to product #3 in category #3 9. VUser logs out 10. End of session
  • 18. Test Plan Script #3 Activity (User abandons a cart, requires login) (68% [2]) 1. VUser hits homepage 2. VUser logs into an existing customer account 3. VUser goes to category #1 4. VUser goes to product #2 in category #1 5. VUser adds that product to her cart 6. VUser removes that product from her cart 7. VUser logs out 8. End of session Script #4 Activity (User purchases a product, requires login) (3% [1]) 1. VUser hits homepage 2. VUser logs into an existing customer account 3. VUser goes to category #1 4. VUser goes to product #3 in category #1 5. VUser adds that product to her cart 6. VUser reviews cart 7. VUser goes through the checkout process 8. VUser receives order confirmation 9. VUser logs out 10. End of session
  • 21. Choke Point – around 100 users • Standard LAMP Stack • Drupal Commerce Kickstart out of the box, no caching turned on Baseline
  • 22. Choke Point – around 100 users • Standard LAMP Stack • Drupal Commerce Kickstart out of the box, no caching turned on Baseline
  • 23. Choke Point – around 100 users • Standard LAMP Stack • Drupal Commerce Kickstart out of the box, no caching turned on Baseline
  • 24. Choke Point – around 100 users • Standard LAMP Stack • Drupal Commerce Kickstart out of the box, no caching turned on Baseline
  • 25. Choke Point – around 100 users • Standard LAMP Stack • Drupal Commerce Kickstart out of the box, no caching turned on Baseline
  • 26. Choke Point – around 100 users • Standard LAMP Stack • Drupal Commerce Kickstart out of the box, no caching turned on Baseline
  • 27. Choke Point – around 300 users • Standard LAMP Stack • Drupal Commerce • Drupal Cache On Drupal Cache!
  • 28. Choke Point – around 100 users • Standard LAMP Stack • Drupal Commerce Kickstart out of the box, no caching turned on D.Cache
  • 29. Choke Point – around 300 users • Standard LAMP Stack • Drupal Commerce Kickstart out of the box, no caching turned on Drupal Cache!
  • 30. Choke Point – around 300 users • Standard LAMP Stack • Drupal Commerce Kickstart out of the box, no caching turned on Drupal Cache!
  • 31. Choke Point – around 300 users • Standard LAMP Stack • Drupal Commerce Kickstart out of the box, no caching turned on Drupal Cache!
  • 32. Choke Point – around 300 users • Standard LAMP Stack • Drupal Commerce Kickstart out of the box, no caching turned on Drupal Cache!
  • 33. Choke Point – around 350 users • Standard LAMP Stack • Drupal Commerce • Drupal Cache On + CSS + JSC Aggregation D.Cache + Agg
  • 34. Choke Point – around 100 users • Standard LAMP Stack • Drupal Commerce Kickstart out of the box, no caching turned on D.Cache + Agg
  • 35. Choke Point – around 350 users • Standard LAMP Stack • Drupal Commerce • Drupal Cache On + CSS + JSC Aggregation D.Cache + Agg
  • 36. Choke Point – around 350 users • Standard LAMP Stack • Drupal Commerce • Drupal Cache On + CSS + JSC Aggregation D.Cache + Agg
  • 37. Choke Point – around 360 users • Standard LAMP Stack • Drupal Commerce • Drupal Cache + Views Cache Views Cache
  • 38. Choke Point – around 100 users • Standard LAMP Stack • Drupal Commerce Kickstart out of the box, no caching turned on Views Cache
  • 39. Choke Point – around 360 users • Standard LAMP Stack • Drupal Commerce • Drupal Cache + Views Cache Views Cache
  • 40. Choke Point – around 360 users • Standard LAMP Stack • Drupal Commerce • Drupal Cache + Views Cache Views Cache
  • 41. Choke Point – around 450 users • Standard LAMP Stack • Drupal Commerce • Drupal caching • Reverse Proxy Reverse Proxy (nginx)
  • 42. Choke Point – around 100 users • Standard LAMP Stack • Drupal Commerce Kickstart out of the box, no caching turned on Reverse Proxy
  • 43. Choke Point – around 450 users • Standard LAMP Stack • Drupal Commerce • Drupal caching • Reverse Proxy Reverse Proxy (nginx)
  • 44. Choke Point – around 450 users • Standard LAMP Stack • Drupal Commerce • Drupal caching • Reverse Proxy Reverse Proxy (nginx)
  • 45. Choke Point – around 450 users • Standard LAMP Stack • Drupal Commerce • Drupal caching • Reverse Proxy Reverse Proxy (nginx)
  • 46. Choke Point – around 450 users • Standard LAMP Stack • Drupal Commerce • Drupal caching • Reverse Proxy Reverse Proxy (nginx) LIVE DEMO

Editor's Notes

  1. What is Load Storm:LoadStorm has been awarded and recognized as the Best Load Testing Tool byWebhostingsearch.com, the leading provider of best quality web hostingreviews on the Internet.“LoadStorm™ is a web-based load testing tool for simulating what users do with a web site or web application. You use it to build tests that send requests to your server in the same way that a user's browser sends requests to your server. But these tests are executed by our automated systems rather than by a user, so they can be done repeatedly and in large numbers simultaneously. They can also be built using our tool in such a way as to simulate a large number of different users with different tasks to perform.
  2. The OptionIt home page has 44 objects on it
  3. We will be load testing the same site installed on four instances: - Amazon small - Amazon mediumVersusRack Space Cloud 1024MB RamRack Space Cloud 2048MB Ram
  4. We will be load testing the same site installed on four instances: - Amazon small - Amazon mediumVersusRack Space Cloud 1024MB RamRack Space Cloud 2048MB Ram
  5. Stress Test results on a drupal site on Amazon small instance
  6. Stress Test results on a drupal site on Amazon small instance
  7. Stress Test results on a drupal site on Amazon small instance
  8. Stress Test results on a drupal site on Amazon small instance
  9. Stress Test results on a drupal site on Amazon small instance
  10. Stress Test results on a drupal site on Amazon small instance
  11. Stress Test results on a drupal site on Amazon small instance
  12. Stress Test results on a drupal site on Amazon small instance
  13. Stress Test results on a drupal site on Amazon small instance
  14. Stress Test results on a drupal site on Amazon small instance
  15. Stress Test results on a drupal site on Amazon small instance
  16. Stress Test results on a drupal site on Amazon small instance
  17. Stress Test results on a drupal site on Amazon small instance
  18. Stress Test results on a drupal site on Amazon small instance
  19. Stress Test results on a drupal site on Amazon small instance
  20. Stress Test results on a drupal site on Amazon small instance
  21. Stress Test results on a drupal site on Amazon small instance
  22. Stress Test results on a drupal site on Amazon small instance
  23. Stress Test results on a drupal site on Amazon small instance
  24. Stress Test results on a drupal site on Amazon small instance
  25. Stress Test results on a drupal site on Amazon small instance
  26. Stress Test results on a drupal site on Amazon small instance
  27. Stress Test results on a drupal site on Amazon small instance
  28. Stress Test results on a drupal site on Amazon small instance
  29. Stress Test results on a drupal site on Amazon small instance
  30. Stress Test results on a drupal site on Amazon small instance
  31. Stress Test results on a drupal site on Amazon small instance
  32. Stress Test results on a drupal site on Amazon small instance
  33. Questions?andy@promethost.com@akucharski@prometsource