SlideShare a Scribd company logo
1 of 52
Download to read offline
The Devil is in the Details 
How to Optimize Magento Hosting 
to Increase Online Sales
Introduction 
Will Bernstein 
Executive Vice President, 
Sales and Marketing
Outline 
1. Case study: Zarpo.com solution engineering 
2. Load testing results: lab vs. real-world testing 
3. Best practices for Magento-optimized development 
4. The link between performance and conversion
Case Study: Mystery of the Locked DB 
• Zarpo.com is the first and largest flash sale travel 
website in Latin America 
• Based in 
o Paulo Brazil 
• Zarpo’s objective is to provide the best online user 
experience to demanding Latin American travelers 
• Running a highly customized deployment of Magento 
Enterprise Edition
Case Study: Mystery of the Locked DB 
Monday, January 13, 2014 – Catastrophic Event 
• 12:37 PM: Critical ticket opened with ZeroLag Support – 
“Zarpo is badly down” 
• 12:48 PM: Initial trouble analysis complete – MySQL crash 
– Extremely high volume of queries locked up the DB 
• 1:04 PM: ZeroLag engineer kills queries and restarts SQL – 
site back online 
• 1:22 PM: Queries continue to pound SQL for reasons 
unknown. ZeroLag staff keeps SQL online
Case Study: Mystery of the Locked DB 
Monday, January 13, 2014 
• 4:27 PM: Root cause deep dive begins 
– Team is assembled: DBA and senior Magento / Linux engineers
Case Study: Mystery of the Locked DB 
Monday, January 13, 2014 
• 5:00 PM: DB diagnostics and configuration analysis begins 
• 6:18 PM: Test environment is set up to focus on DB cache 
under load
Case Study: Mystery of the Locked DB 
Tuesday, January 14, 2014 
• 8:15 AM: Root cause identified 
– An AJAX call checks a custom cache 
– When a travel deal gets sold or updated the cache is cleared 
and the next AJAX call kicks off a recache 
– If a cache has not been built by the time next AJAX call 
happens, another cache rebuild gets launched 
– Zarpo had recently released its mobile application and usage 
increased 800% causing a massive log jam of cache rebuilds
Case Study: Mystery of the Locked DB 
Tuesday, January 14, 2014 
• 9:18 AM: Solution engineering begins
Case Study: Mystery of the Locked DB 
Tuesday, January 14, 2014 
• Developer briefing: ZeroLag recommends solution 
– Add Ajax code that blocks all rebuilds if a rebuild is already in progress 
• The Ajax call puts up a “loading new deals” clock for users during cache rebuilds 
• As an added benefit, the clock contributes to the user experience by helping build 
customer anticipation for deals, consistent with the flash sale business model
Case Study: Mystery of the Locked DB 
Tuesday, January 14, 2014 
Zarpo names the successful solution “The McManus Magic Shield”
Case Study: Mystery of the Locked DB 
Skype Room Chat Report from Zarpo 
[1/24/14, 9:41:45 AM] Alexis Manach: excellent 
news 
[1/24/14, 9:41:56 AM] Alexis Manach: the 
McManus magic shield is on.. 
[1/24/14, 9:42:09 AM] Alexis Manach: and 
working beautifully.. 
[1/24/14, 9:42:43 AM] Alexis Manach: this 
morning i triggered this big event recache with 
over 550 concurrent users online and site did 
not even move a little bit.
About ZeroLag 
Get the power of 1:1 
• Magento Platinum Hosting Partner 
• Founded April 1999 
• Founder, CEO Greg Strelzoff 
• 80 Employees 
• We never throw developers 
under the bus!
Cameron King 
02 Load Testing Results 
Linux Manager
Purpose 
• To observe Magento performance under varying store 
sizes, cache configurations, and traffic levels 
– Directly relates to questions we get asked on a weekly basis 
during the pre-sale process
Lab and store test setup 
• Environment: single load test server 
– Tool: Gatling 
– Method: Blind test (unbiased) 
– Tiers: Single web & DB, Dual web & DB 
– Code: stock Magento EE 1.13, no plugins 
• Test grid: 
– Cache: Memcached, Redis 
– Store sizes: 1K, 100K, 500K products 
– Traffic: 100, 200, 300, 400, 500 concurrent browsers 
• Success rate: 99% to consider valid test
Environment Response Time vs. Traffic 
www 
db 
www 
db 
www
Environment Response Time vs. Traffic 
At 100 concurrent browsers, the “smaller” environment 
performed best… 
It depends on where the bottlenecks are! 
• At low levels, CPU is not strained 
• No benefit of extra CPU power from 
two web servers 
• 50ms overhead due to shared PHP 
sessions (Memcached) and file 
system (NFS)
Cache Response Time vs. Traffic 
Redis Memcached
Lab Load Test Recap 
• Environment sizing is important to performance 
• Stock Magento is fast and scalable when deployed with 
best practices 
• Memcached and Redis have similar performance 
profiles when under load 
• This establishes a baseline on which we can compare 
some real-world sites
Real-World Testing 
• Selected 5 representative Magento sites 
• Tested during off-peak hours 
• Abort testing at >1% failure rate 
• Generate Gatling install script for each site 
• Same testing procedure as Lab tests
Client Response Time vs. Traffic
Client Response Time vs. Traffic 
• Performs worse than the baseline 
• Enabled Enterprise Edition Full Page 
Cache, but not fully utilized 
• Replaced stock Magento frontend with 
Expression Engine 
www www 
db
Client Response Time vs. Traffic 
• Performs better than the baseline 
• Enabled a number of custom plugins 
• Using Varnish and third-party plugin 
www
Client Response Time vs. Traffic 
• Performs better than the baseline 
• Front-end designed for Magento 
• Using Enterprise Edition FPC 
• Using local HTTP Accelerator 
www www 
www 
db
Client Response Time vs. Traffic 
• Best scalability of all tested sites 
• Most consistent performance 
• Front-end designed for Magento 
• Using Enterprise Edition FPC 
• Using cloud-based HTTP accelerator 
www www 
db
Client Response Time vs. Traffic
Client Response Time vs. Traffic 
www 
db 
• Great single-user experience 
• Very poor scalability 
• A large number of complex plugins 
• Significant development issues 
• Multiple developers working on the site 
• File-based Magento fast cache 
• DB-based PHP sessions 
• FPC incompatible with plugins/code 
• CPU intensive site
Real-World Load Test Recap 
• Code quality is the single greatest factor in determining 
performance of a Magento site 
– Frontend 
– Plugins 
– Custom Code 
• FPC, HTTP accelerators, clustering, and in-memory 
fast cache are excellent ways to improve scalability
Best Practices in 
Magento Development 
03 
Doug Goldberg 
Vice President, 
Magento Solutions
Common Bottlenecks 
Poorly Optimized Frontend 
– Making performance-impacting changes 
– Very large images 
– Hundreds of very small images 
– Uncombined JavaScript/CSS 
– JavaScript/CSS out of order 
– No browser caching 
– Performance-intensive uncached page elements
Best Practices 
• Reduce the number of HTTP requests, limit external requests 
– Base install of Magento has < 40 calls 
– Most Magento sites I have seen: 100+ calls 
• Compress files 
– JavaScript, images, HTML, CSS, etc. 
– Images should not be over 50KB 
• Minify JS 
– Removes unnecessary spaces, tabs, and other 
selected characters 
– Reduces overall size of the file 
• Combine or merge JS and CSS
Best Practices, cont. 
• Load CSS first, JavaScript last 
– Page appears to be loaded on the user’s machine while JavaScript is catching 
up and loading in the background 
• Add expiration headers for static graphic files (Browser cache) 
– 80% of page load time is downloading scripts, images, and CSS, which 
normally don’t change very often 
• Use CSS sprites 
– Can cut page load time by reducing the amount of HTTP requests your page 
makes to the server, through the consolidation of your CSS background 
images
Best Practices, cont. 
• Avoid redirects 
– Site loads a header with a blank page, then loads 
new page 
– Increases the time it takes to get the user to the 
page they actually want 
• Use cache very aggressively 
– Including Magento FPC if on Enterprise Edition 
• Use CDN 
– And even multiple zones for parallel downloads
04 A Glimpse into the Future
HipHop Virtual Machine 
• HipHop for PHP: a series of execution engines 
and improvements created by Facebook 
– Original motivation: save server resources 
given large PHP codebase of facebook.com 
– As development progressed: realization that 
HipHop could substantially increase the speed 
of PHP applications in general 
• Current version open-sourced in late 2011 
– Known as HHVM (HipHop Virtual Machine)
Case Study – Magento and HHVM 
• Car Part Kings 
• Wanted to run HHVM and fpm on the 
same production site to compare 
performance 
• How do you do that? 
– Query parameter strings (?h=1)
What does that look like? 
• fpm 
– carpartkings.com/mann-cabin-air-filter-cu-2949-2.html 
• HHVM 
– carpartkings.com/mann-cabin-air-filter-cu-2949-2.html?h=1
How did it perform? 
• fpm page load time = 2.16 seconds 
• HHVM page load time = 1.14 seconds 
• On the first day, conversion increased by 
500% over the similar fpm pages 
• Facebook has seen increases in web 
page generation throughput by factors of 
up to 6x vs. Zend PHP
Is HHVM ready for primetime? 
• Not quite yet 
– Car Part Kings, ZeroLag and the HHVM consultant got it working 
– But it needed to be restarted 4 to 5 times a day 
• Currently deactivated 
– HHVM consultant working on a solution to eliminate crashes
The Link Between 
Performance and Conversion 
05 
Aaron Koch 
Vice President, 
Direct Sales
How performance impacts your business 
Why is performance critical? 
Studies show users are more likely to convert on a faster site 
− Slow sites subconsciously erode user confidence 
− User Experience is everything and there are two components: 
• Visible user experience - look and feel of the site along with 
information architecture 
• Invisible user experience - the passage of time itself 
• Front-end innovation combined with back-end performance 
optimization delivers the best User Experience possible
How performance impacts your business 
Magento performance can set your revenue on fire…
How performance impacts your business 
But slowing down suddenly can cost you dearly!
How performance impacts your business 
• Consciously or not, visitors expect pages to load in two 
seconds or less 
• A one-second delay reduces conversions by 7%* 
• Even seemingly tolerable delays can add up to substantial 
lost revenue 
– For example, a site which sells $100,000 per day can lose as much as 
$2.5 million annually for every extra second of page load delay* 
• Small changes in site speed can have a huge impact on 
e-commerce sales 
*According to research conducted by Akamai and Gomez Advisors (now Compuware)
Relationship of load time and bounce rate 
Lost Opportunity
Evaluating your site 
Use free tools to analyze your Magento sites 
• Knowing is half the battle 
WebPagetest (webpagetest.org) 
• TTFB, image compression, 
caching, CDN 
• Compare web sites’ page load 
times
Evaluating your site 
Use free tools to analyze your Magento sites 
• Knowing is half the battle 
Gtmetrix (gtmetrix.com) 
• Breakdown 25+ page speed 
components 
• Provides performance 
improvement recommendations 
• Also, Magento-specific 
recommendations
Evaluating your site 
Use free tools to analyze your Magento sites 
• Knowing is half the battle 
YSlow (yslow.org) 
• Waterfall chart shows each call 
to build the page, with 
associated load time 
• Open Source; also available as 
browser plugin for Chrome, 
Firefox, more
Leave this room with a plan 
• Choose a hosting company that you think will best 
support your business 
• Implement a multi-layered strategy for 
optimization and caching 
• Communicate with your hosting company 
and your solution partner; work together 
to improve performance 
• Remember that your website is a tool, not a canvas
Thank you! 
ZeroLag.com | 877-ZERO-LAG

More Related Content

What's hot

Website Performance
Website PerformanceWebsite Performance
Website Performance
Hugo Fonseca
 
AJAX for Scalability
AJAX for ScalabilityAJAX for Scalability
AJAX for Scalability
Tuenti
 
20130714 php matsuri - highly available php
20130714   php matsuri - highly available php20130714   php matsuri - highly available php
20130714 php matsuri - highly available php
Graham Weldon
 
Cache Optimization with Akamai
Cache Optimization with AkamaiCache Optimization with Akamai
Cache Optimization with Akamai
Blake Crosby
 

What's hot (20)

Why your slow loading website is costing you sales and how to fix it
Why your slow loading website is costing you sales and how to fix itWhy your slow loading website is costing you sales and how to fix it
Why your slow loading website is costing you sales and how to fix it
 
Why your slow loading website is costing you sales and how to fix it
Why your slow loading website is costing you sales and how to fix itWhy your slow loading website is costing you sales and how to fix it
Why your slow loading website is costing you sales and how to fix it
 
Selecting and deploying automated optimization solutions
Selecting and deploying automated optimization solutionsSelecting and deploying automated optimization solutions
Selecting and deploying automated optimization solutions
 
Website Performance
Website PerformanceWebsite Performance
Website Performance
 
Breaking the Speed Limit: Faster Websites Win
Breaking the Speed Limit: Faster Websites WinBreaking the Speed Limit: Faster Websites Win
Breaking the Speed Limit: Faster Websites Win
 
Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)
Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)
Navigating SAP’s Integration Options (Mastering SAP Technologies 2013)
 
Openxcell conducts a successful webinar on Magento Optimization
Openxcell conducts a successful webinar on Magento OptimizationOpenxcell conducts a successful webinar on Magento Optimization
Openxcell conducts a successful webinar on Magento Optimization
 
AJAX for Scalability
AJAX for ScalabilityAJAX for Scalability
AJAX for Scalability
 
20130714 php matsuri - highly available php
20130714   php matsuri - highly available php20130714   php matsuri - highly available php
20130714 php matsuri - highly available php
 
Building a DevOps pipeline for Serverless by using Mocha, GitHub and Travis
Building a DevOps pipeline for Serverless by using Mocha, GitHub and TravisBuilding a DevOps pipeline for Serverless by using Mocha, GitHub and Travis
Building a DevOps pipeline for Serverless by using Mocha, GitHub and Travis
 
Cache Optimization with Akamai
Cache Optimization with AkamaiCache Optimization with Akamai
Cache Optimization with Akamai
 
Qcon
QconQcon
Qcon
 
OpenXcell - Magento Optimization Webinar 2013
OpenXcell - Magento Optimization Webinar 2013OpenXcell - Magento Optimization Webinar 2013
OpenXcell - Magento Optimization Webinar 2013
 
Hhvm and wordpress
Hhvm and wordpressHhvm and wordpress
Hhvm and wordpress
 
WordCamp RVA 2011 - Performance & Tuning
WordCamp RVA 2011 - Performance & TuningWordCamp RVA 2011 - Performance & Tuning
WordCamp RVA 2011 - Performance & Tuning
 
Presentation1
Presentation1Presentation1
Presentation1
 
Content Devilery Network
Content Devilery NetworkContent Devilery Network
Content Devilery Network
 
Magento security best practices 2015
Magento security best practices 2015Magento security best practices 2015
Magento security best practices 2015
 
Wordcamp2009
Wordcamp2009Wordcamp2009
Wordcamp2009
 
SharePoint Performance - Best Practices from the Field
SharePoint Performance - Best Practices from the Field SharePoint Performance - Best Practices from the Field
SharePoint Performance - Best Practices from the Field
 

Viewers also liked

Integrated Email Marketing
Integrated Email MarketingIntegrated Email Marketing
Integrated Email Marketing
Kaspar Luk
 
White Paper - B2B Ecommerce
White Paper - B2B EcommerceWhite Paper - B2B Ecommerce
White Paper - B2B Ecommerce
Kaspar Luk
 
Catalogo remate julio 2014
Catalogo remate julio 2014Catalogo remate julio 2014
Catalogo remate julio 2014
copy-net1
 

Viewers also liked (14)

Conglomerantes
ConglomerantesConglomerantes
Conglomerantes
 
Integrated Email Marketing
Integrated Email MarketingIntegrated Email Marketing
Integrated Email Marketing
 
Costas Tjiapouras CV
Costas Tjiapouras CVCostas Tjiapouras CV
Costas Tjiapouras CV
 
Digital literacy compressed
Digital literacy compressedDigital literacy compressed
Digital literacy compressed
 
6952 d7b3 (1)
6952 d7b3 (1)6952 d7b3 (1)
6952 d7b3 (1)
 
Optimizing magento e commerce sites for increased sales and customer satisfac...
Optimizing magento e commerce sites for increased sales and customer satisfac...Optimizing magento e commerce sites for increased sales and customer satisfac...
Optimizing magento e commerce sites for increased sales and customer satisfac...
 
Optimizing Magento E-Commerce Sites for Increased Sales and Customer satisfac...
Optimizing Magento E-Commerce Sites for Increased Sales and Customer satisfac...Optimizing Magento E-Commerce Sites for Increased Sales and Customer satisfac...
Optimizing Magento E-Commerce Sites for Increased Sales and Customer satisfac...
 
Magento e commerce hosting
Magento e commerce hostingMagento e commerce hosting
Magento e commerce hosting
 
E commerce
E  commerceE  commerce
E commerce
 
White Paper - B2B Ecommerce
White Paper - B2B EcommerceWhite Paper - B2B Ecommerce
White Paper - B2B Ecommerce
 
Nini sabogal ensayo_actividad_1.1
Nini sabogal ensayo_actividad_1.1Nini sabogal ensayo_actividad_1.1
Nini sabogal ensayo_actividad_1.1
 
Catalogo remate julio 2014
Catalogo remate julio 2014Catalogo remate julio 2014
Catalogo remate julio 2014
 
absolute advantage vs comparative advantage
absolute advantage vs comparative  advantageabsolute advantage vs comparative  advantage
absolute advantage vs comparative advantage
 
Cuadro comparativo sobre las evaluaciones nacionales e internacionales
Cuadro comparativo sobre las evaluaciones nacionales e internacionalesCuadro comparativo sobre las evaluaciones nacionales e internacionales
Cuadro comparativo sobre las evaluaciones nacionales e internacionales
 

Similar to Imagine 2014: The Devil is in the Details How to Optimize Magento Hosting to Increase Online Sales

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
 

Similar to Imagine 2014: The Devil is in the Details How to Optimize Magento Hosting to Increase Online Sales (20)

From Zero to Performance Hero in Minutes - Agile Testing Days 2014 Potsdam
From Zero to Performance Hero in Minutes - Agile Testing Days 2014 PotsdamFrom Zero to Performance Hero in Minutes - Agile Testing Days 2014 Potsdam
From Zero to Performance Hero in Minutes - Agile Testing Days 2014 Potsdam
 
Web Performance Optimization (WPO)
Web Performance Optimization (WPO)Web Performance Optimization (WPO)
Web Performance Optimization (WPO)
 
Supercharge Application Delivery to Satisfy Users
Supercharge Application Delivery to Satisfy UsersSupercharge Application Delivery to Satisfy Users
Supercharge Application Delivery to Satisfy Users
 
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
 
What is Nginx and Why You Should to Use it with Wordpress Hosting
What is Nginx and Why You Should to Use it with Wordpress HostingWhat is Nginx and Why You Should to Use it with Wordpress Hosting
What is Nginx and Why You Should to Use it with Wordpress Hosting
 
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
 
Salesforce Performance hacks - Client Side
Salesforce Performance hacks - Client SideSalesforce Performance hacks - Client Side
Salesforce Performance hacks - Client Side
 
Optimizing performance
Optimizing performanceOptimizing performance
Optimizing performance
 
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
 
Drupal 7 performance and optimization
Drupal 7 performance and optimizationDrupal 7 performance and optimization
Drupal 7 performance and optimization
 
Custom coded projects
Custom coded projectsCustom coded projects
Custom coded projects
 
Web performance optimization - MercadoLibre
Web performance optimization - MercadoLibreWeb performance optimization - MercadoLibre
Web performance optimization - MercadoLibre
 
Northeast PHP - High Performance PHP
Northeast PHP - High Performance PHPNortheast PHP - High Performance PHP
Northeast PHP - High Performance PHP
 
10 Things You Can Do to Speed Up Your Web App Today
10 Things You Can Do to Speed Up Your Web App Today10 Things You Can Do to Speed Up Your Web App Today
10 Things You Can Do to Speed Up Your Web App Today
 
Web Application Performance Audit and Optimization
Web Application Performance Audit and OptimizationWeb Application Performance Audit and Optimization
Web Application Performance Audit and Optimization
 
Single Page Applications: Your Browser is the OS!
Single Page Applications: Your Browser is the OS!Single Page Applications: Your Browser is the OS!
Single Page Applications: Your Browser is the OS!
 
10 things you can do to speed up your web app today stir trek edition
10 things you can do to speed up your web app today   stir trek edition10 things you can do to speed up your web app today   stir trek edition
10 things you can do to speed up your web app today stir trek edition
 
DrupalSouth 2015 - Performance: Not an Afterthought
DrupalSouth 2015 - Performance: Not an AfterthoughtDrupalSouth 2015 - Performance: Not an Afterthought
DrupalSouth 2015 - Performance: Not an Afterthought
 
Scalability and performance for e commerce
Scalability and performance for e commerceScalability and performance for e commerce
Scalability and performance for e commerce
 
12-Step Program for Scaling Web Applications on PostgreSQL
12-Step Program for Scaling Web Applications on PostgreSQL12-Step Program for Scaling Web Applications on PostgreSQL
12-Step Program for Scaling Web Applications on PostgreSQL
 

Recently uploaded

Call Girls in Yamuna Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in  Yamuna Vihar  (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in  Yamuna Vihar  (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in Yamuna Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
9953056974 Low Rate Call Girls In Saket, Delhi NCR
 

Recently uploaded (20)

logistics industry development power point ppt.pdf
logistics industry development power point ppt.pdflogistics industry development power point ppt.pdf
logistics industry development power point ppt.pdf
 
Bhubaneswar🌹Ravi Tailkes ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswar ...
Bhubaneswar🌹Ravi Tailkes  ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswar ...Bhubaneswar🌹Ravi Tailkes  ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswar ...
Bhubaneswar🌹Ravi Tailkes ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswar ...
 
Significant AI Trends for the Financial Industry in 2024 and How to Utilize Them
Significant AI Trends for the Financial Industry in 2024 and How to Utilize ThemSignificant AI Trends for the Financial Industry in 2024 and How to Utilize Them
Significant AI Trends for the Financial Industry in 2024 and How to Utilize Them
 
Bhubaneswar🌹Kalpana Mesuem ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswa...
Bhubaneswar🌹Kalpana Mesuem  ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswa...Bhubaneswar🌹Kalpana Mesuem  ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswa...
Bhubaneswar🌹Kalpana Mesuem ❤CALL GIRLS 9777949614 💟 CALL GIRLS IN bhubaneswa...
 
Benefits & Risk Of Stock Loans
Benefits & Risk Of Stock LoansBenefits & Risk Of Stock Loans
Benefits & Risk Of Stock Loans
 
Dubai Call Girls Deira O525547819 Dubai Call Girls Bur Dubai Multiple
Dubai Call Girls Deira O525547819 Dubai Call Girls Bur Dubai MultipleDubai Call Girls Deira O525547819 Dubai Call Girls Bur Dubai Multiple
Dubai Call Girls Deira O525547819 Dubai Call Girls Bur Dubai Multiple
 
20240419-SMC-submission-Annual-Superannuation-Performance-Test-–-design-optio...
20240419-SMC-submission-Annual-Superannuation-Performance-Test-–-design-optio...20240419-SMC-submission-Annual-Superannuation-Performance-Test-–-design-optio...
20240419-SMC-submission-Annual-Superannuation-Performance-Test-–-design-optio...
 
Pension dashboards forum 1 May 2024 (1).pdf
Pension dashboards forum 1 May 2024 (1).pdfPension dashboards forum 1 May 2024 (1).pdf
Pension dashboards forum 1 May 2024 (1).pdf
 
Turbhe Fantastic Escorts📞📞9833754194 Kopar Khairane Marathi Call Girls-Kopar ...
Turbhe Fantastic Escorts📞📞9833754194 Kopar Khairane Marathi Call Girls-Kopar ...Turbhe Fantastic Escorts📞📞9833754194 Kopar Khairane Marathi Call Girls-Kopar ...
Turbhe Fantastic Escorts📞📞9833754194 Kopar Khairane Marathi Call Girls-Kopar ...
 
Lion One Corporate Presentation May 2024
Lion One Corporate Presentation May 2024Lion One Corporate Presentation May 2024
Lion One Corporate Presentation May 2024
 
Business Principles, Tools, and Techniques in Participating in Various Types...
Business Principles, Tools, and Techniques  in Participating in Various Types...Business Principles, Tools, and Techniques  in Participating in Various Types...
Business Principles, Tools, and Techniques in Participating in Various Types...
 
falcon-invoice-discounting-unlocking-prime-investment-opportunities
falcon-invoice-discounting-unlocking-prime-investment-opportunitiesfalcon-invoice-discounting-unlocking-prime-investment-opportunities
falcon-invoice-discounting-unlocking-prime-investment-opportunities
 
Call Girls in Yamuna Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in  Yamuna Vihar  (delhi) call me [🔝9953056974🔝] escort service 24X7Call Girls in  Yamuna Vihar  (delhi) call me [🔝9953056974🔝] escort service 24X7
Call Girls in Yamuna Vihar (delhi) call me [🔝9953056974🔝] escort service 24X7
 
Kurla Capable Call Girls ,07506202331, Sion Affordable Call Girls
Kurla Capable Call Girls ,07506202331, Sion Affordable Call GirlsKurla Capable Call Girls ,07506202331, Sion Affordable Call Girls
Kurla Capable Call Girls ,07506202331, Sion Affordable Call Girls
 
Female Escorts Service in Hyderabad Starting with 5000/- for Savita Escorts S...
Female Escorts Service in Hyderabad Starting with 5000/- for Savita Escorts S...Female Escorts Service in Hyderabad Starting with 5000/- for Savita Escorts S...
Female Escorts Service in Hyderabad Starting with 5000/- for Savita Escorts S...
 
Test bank for advanced assessment interpreting findings and formulating diffe...
Test bank for advanced assessment interpreting findings and formulating diffe...Test bank for advanced assessment interpreting findings and formulating diffe...
Test bank for advanced assessment interpreting findings and formulating diffe...
 
Premium Call Girls Bangalore Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
Premium Call Girls Bangalore Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...Premium Call Girls Bangalore Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
Premium Call Girls Bangalore Call Girls Service Just Call 🍑👄6378878445 🍑👄 Top...
 
Fixed exchange rate and flexible exchange rate.pptx
Fixed exchange rate and flexible exchange rate.pptxFixed exchange rate and flexible exchange rate.pptx
Fixed exchange rate and flexible exchange rate.pptx
 
Thane Call Girls , 07506202331 Kalyan Call Girls
Thane Call Girls , 07506202331 Kalyan Call GirlsThane Call Girls , 07506202331 Kalyan Call Girls
Thane Call Girls , 07506202331 Kalyan Call Girls
 
Female Russian Escorts Mumbai Call Girls-((ANdheri))9833754194-Jogeshawri Fre...
Female Russian Escorts Mumbai Call Girls-((ANdheri))9833754194-Jogeshawri Fre...Female Russian Escorts Mumbai Call Girls-((ANdheri))9833754194-Jogeshawri Fre...
Female Russian Escorts Mumbai Call Girls-((ANdheri))9833754194-Jogeshawri Fre...
 

Imagine 2014: The Devil is in the Details How to Optimize Magento Hosting to Increase Online Sales

  • 1.
  • 2. The Devil is in the Details How to Optimize Magento Hosting to Increase Online Sales
  • 3. Introduction Will Bernstein Executive Vice President, Sales and Marketing
  • 4. Outline 1. Case study: Zarpo.com solution engineering 2. Load testing results: lab vs. real-world testing 3. Best practices for Magento-optimized development 4. The link between performance and conversion
  • 5. Case Study: Mystery of the Locked DB • Zarpo.com is the first and largest flash sale travel website in Latin America • Based in o Paulo Brazil • Zarpo’s objective is to provide the best online user experience to demanding Latin American travelers • Running a highly customized deployment of Magento Enterprise Edition
  • 6. Case Study: Mystery of the Locked DB Monday, January 13, 2014 – Catastrophic Event • 12:37 PM: Critical ticket opened with ZeroLag Support – “Zarpo is badly down” • 12:48 PM: Initial trouble analysis complete – MySQL crash – Extremely high volume of queries locked up the DB • 1:04 PM: ZeroLag engineer kills queries and restarts SQL – site back online • 1:22 PM: Queries continue to pound SQL for reasons unknown. ZeroLag staff keeps SQL online
  • 7. Case Study: Mystery of the Locked DB Monday, January 13, 2014 • 4:27 PM: Root cause deep dive begins – Team is assembled: DBA and senior Magento / Linux engineers
  • 8. Case Study: Mystery of the Locked DB Monday, January 13, 2014 • 5:00 PM: DB diagnostics and configuration analysis begins • 6:18 PM: Test environment is set up to focus on DB cache under load
  • 9. Case Study: Mystery of the Locked DB Tuesday, January 14, 2014 • 8:15 AM: Root cause identified – An AJAX call checks a custom cache – When a travel deal gets sold or updated the cache is cleared and the next AJAX call kicks off a recache – If a cache has not been built by the time next AJAX call happens, another cache rebuild gets launched – Zarpo had recently released its mobile application and usage increased 800% causing a massive log jam of cache rebuilds
  • 10. Case Study: Mystery of the Locked DB Tuesday, January 14, 2014 • 9:18 AM: Solution engineering begins
  • 11. Case Study: Mystery of the Locked DB Tuesday, January 14, 2014 • Developer briefing: ZeroLag recommends solution – Add Ajax code that blocks all rebuilds if a rebuild is already in progress • The Ajax call puts up a “loading new deals” clock for users during cache rebuilds • As an added benefit, the clock contributes to the user experience by helping build customer anticipation for deals, consistent with the flash sale business model
  • 12. Case Study: Mystery of the Locked DB Tuesday, January 14, 2014 Zarpo names the successful solution “The McManus Magic Shield”
  • 13. Case Study: Mystery of the Locked DB Skype Room Chat Report from Zarpo [1/24/14, 9:41:45 AM] Alexis Manach: excellent news [1/24/14, 9:41:56 AM] Alexis Manach: the McManus magic shield is on.. [1/24/14, 9:42:09 AM] Alexis Manach: and working beautifully.. [1/24/14, 9:42:43 AM] Alexis Manach: this morning i triggered this big event recache with over 550 concurrent users online and site did not even move a little bit.
  • 14. About ZeroLag Get the power of 1:1 • Magento Platinum Hosting Partner • Founded April 1999 • Founder, CEO Greg Strelzoff • 80 Employees • We never throw developers under the bus!
  • 15. Cameron King 02 Load Testing Results Linux Manager
  • 16. Purpose • To observe Magento performance under varying store sizes, cache configurations, and traffic levels – Directly relates to questions we get asked on a weekly basis during the pre-sale process
  • 17. Lab and store test setup • Environment: single load test server – Tool: Gatling – Method: Blind test (unbiased) – Tiers: Single web & DB, Dual web & DB – Code: stock Magento EE 1.13, no plugins • Test grid: – Cache: Memcached, Redis – Store sizes: 1K, 100K, 500K products – Traffic: 100, 200, 300, 400, 500 concurrent browsers • Success rate: 99% to consider valid test
  • 18. Environment Response Time vs. Traffic www db www db www
  • 19. Environment Response Time vs. Traffic At 100 concurrent browsers, the “smaller” environment performed best… It depends on where the bottlenecks are! • At low levels, CPU is not strained • No benefit of extra CPU power from two web servers • 50ms overhead due to shared PHP sessions (Memcached) and file system (NFS)
  • 20. Cache Response Time vs. Traffic Redis Memcached
  • 21. Lab Load Test Recap • Environment sizing is important to performance • Stock Magento is fast and scalable when deployed with best practices • Memcached and Redis have similar performance profiles when under load • This establishes a baseline on which we can compare some real-world sites
  • 22. Real-World Testing • Selected 5 representative Magento sites • Tested during off-peak hours • Abort testing at >1% failure rate • Generate Gatling install script for each site • Same testing procedure as Lab tests
  • 23. Client Response Time vs. Traffic
  • 24. Client Response Time vs. Traffic • Performs worse than the baseline • Enabled Enterprise Edition Full Page Cache, but not fully utilized • Replaced stock Magento frontend with Expression Engine www www db
  • 25. Client Response Time vs. Traffic • Performs better than the baseline • Enabled a number of custom plugins • Using Varnish and third-party plugin www
  • 26. Client Response Time vs. Traffic • Performs better than the baseline • Front-end designed for Magento • Using Enterprise Edition FPC • Using local HTTP Accelerator www www www db
  • 27. Client Response Time vs. Traffic • Best scalability of all tested sites • Most consistent performance • Front-end designed for Magento • Using Enterprise Edition FPC • Using cloud-based HTTP accelerator www www db
  • 28. Client Response Time vs. Traffic
  • 29. Client Response Time vs. Traffic www db • Great single-user experience • Very poor scalability • A large number of complex plugins • Significant development issues • Multiple developers working on the site • File-based Magento fast cache • DB-based PHP sessions • FPC incompatible with plugins/code • CPU intensive site
  • 30. Real-World Load Test Recap • Code quality is the single greatest factor in determining performance of a Magento site – Frontend – Plugins – Custom Code • FPC, HTTP accelerators, clustering, and in-memory fast cache are excellent ways to improve scalability
  • 31. Best Practices in Magento Development 03 Doug Goldberg Vice President, Magento Solutions
  • 32. Common Bottlenecks Poorly Optimized Frontend – Making performance-impacting changes – Very large images – Hundreds of very small images – Uncombined JavaScript/CSS – JavaScript/CSS out of order – No browser caching – Performance-intensive uncached page elements
  • 33. Best Practices • Reduce the number of HTTP requests, limit external requests – Base install of Magento has < 40 calls – Most Magento sites I have seen: 100+ calls • Compress files – JavaScript, images, HTML, CSS, etc. – Images should not be over 50KB • Minify JS – Removes unnecessary spaces, tabs, and other selected characters – Reduces overall size of the file • Combine or merge JS and CSS
  • 34. Best Practices, cont. • Load CSS first, JavaScript last – Page appears to be loaded on the user’s machine while JavaScript is catching up and loading in the background • Add expiration headers for static graphic files (Browser cache) – 80% of page load time is downloading scripts, images, and CSS, which normally don’t change very often • Use CSS sprites – Can cut page load time by reducing the amount of HTTP requests your page makes to the server, through the consolidation of your CSS background images
  • 35. Best Practices, cont. • Avoid redirects – Site loads a header with a blank page, then loads new page – Increases the time it takes to get the user to the page they actually want • Use cache very aggressively – Including Magento FPC if on Enterprise Edition • Use CDN – And even multiple zones for parallel downloads
  • 36. 04 A Glimpse into the Future
  • 37. HipHop Virtual Machine • HipHop for PHP: a series of execution engines and improvements created by Facebook – Original motivation: save server resources given large PHP codebase of facebook.com – As development progressed: realization that HipHop could substantially increase the speed of PHP applications in general • Current version open-sourced in late 2011 – Known as HHVM (HipHop Virtual Machine)
  • 38. Case Study – Magento and HHVM • Car Part Kings • Wanted to run HHVM and fpm on the same production site to compare performance • How do you do that? – Query parameter strings (?h=1)
  • 39. What does that look like? • fpm – carpartkings.com/mann-cabin-air-filter-cu-2949-2.html • HHVM – carpartkings.com/mann-cabin-air-filter-cu-2949-2.html?h=1
  • 40. How did it perform? • fpm page load time = 2.16 seconds • HHVM page load time = 1.14 seconds • On the first day, conversion increased by 500% over the similar fpm pages • Facebook has seen increases in web page generation throughput by factors of up to 6x vs. Zend PHP
  • 41. Is HHVM ready for primetime? • Not quite yet – Car Part Kings, ZeroLag and the HHVM consultant got it working – But it needed to be restarted 4 to 5 times a day • Currently deactivated – HHVM consultant working on a solution to eliminate crashes
  • 42. The Link Between Performance and Conversion 05 Aaron Koch Vice President, Direct Sales
  • 43. How performance impacts your business Why is performance critical? Studies show users are more likely to convert on a faster site − Slow sites subconsciously erode user confidence − User Experience is everything and there are two components: • Visible user experience - look and feel of the site along with information architecture • Invisible user experience - the passage of time itself • Front-end innovation combined with back-end performance optimization delivers the best User Experience possible
  • 44. How performance impacts your business Magento performance can set your revenue on fire…
  • 45. How performance impacts your business But slowing down suddenly can cost you dearly!
  • 46. How performance impacts your business • Consciously or not, visitors expect pages to load in two seconds or less • A one-second delay reduces conversions by 7%* • Even seemingly tolerable delays can add up to substantial lost revenue – For example, a site which sells $100,000 per day can lose as much as $2.5 million annually for every extra second of page load delay* • Small changes in site speed can have a huge impact on e-commerce sales *According to research conducted by Akamai and Gomez Advisors (now Compuware)
  • 47. Relationship of load time and bounce rate Lost Opportunity
  • 48. Evaluating your site Use free tools to analyze your Magento sites • Knowing is half the battle WebPagetest (webpagetest.org) • TTFB, image compression, caching, CDN • Compare web sites’ page load times
  • 49. Evaluating your site Use free tools to analyze your Magento sites • Knowing is half the battle Gtmetrix (gtmetrix.com) • Breakdown 25+ page speed components • Provides performance improvement recommendations • Also, Magento-specific recommendations
  • 50. Evaluating your site Use free tools to analyze your Magento sites • Knowing is half the battle YSlow (yslow.org) • Waterfall chart shows each call to build the page, with associated load time • Open Source; also available as browser plugin for Chrome, Firefox, more
  • 51. Leave this room with a plan • Choose a hosting company that you think will best support your business • Implement a multi-layered strategy for optimization and caching • Communicate with your hosting company and your solution partner; work together to improve performance • Remember that your website is a tool, not a canvas
  • 52. Thank you! ZeroLag.com | 877-ZERO-LAG