The Devil is in the Details. How to Optimize Magento Hosting to Increase Online Sales



Similar documents
Doug Goldberg. Vice President of Magento Solutions, ZeroLag

E-commerce is also about

Front-End Performance Testing and Optimization

Accelerating Wordpress for Pagerank and Profit

Drupal Performance Tuning

9 Tried and Tested Tips to Increase the Power of your Magento Store

The importance of Drupal Cache. Luis F. Ribeiro Ci&T Inc. 2013

Table of Contents. Overview... 1 Introduction... 2 Common Architectures Technical Challenges with Magento ChinaNetCloud's Experience...

Click to edit Master title style. Click to edit Master text styles. Hedley Aylott. CEO Summit

Web Performance. Lab. Bases de Dados e Aplicações Web MIEIC, FEUP 2014/15. Sérgio Nunes

Serving 4 million page requests an hour with Magento Enterprise

(An) Optimal Drupal 7 Module Configuration for Site Performance JOE PRICE

WHITE PAPER : WEB PERFORMANCE MANAGEMENT

Improving Magento Front-End Performance

Performance Report for: Report generated: Friday, April 24, 2015, 7:29 AM (via API)

Web Performance. Sergey Chernyshev. March '09 New York Web Standards Meetup. New York, NY. March 19 th, 2009

making drupal run fast

Speed up your web site. Alan Seiden Consulting alanseiden.com

Simple Tips to Improve Drupal Performance: No Coding Required. By Erik Webb, Senior Technical Consultant, Acquia

AUDIT REPORT EXAMPLE

4x High Performance for Drupal. Presented by Fabian Franz. Step by Step

Performance testing Web 2.0

79 Tips and Tricks for Magento Performance Improvement. for Magento Performance Improvement

Ensuring scalability and performance with Drupal as your audience grows

FIVE WAYS TO OPTIMIZE MOBILE WEBSITE PERFORMANCE WITH PAGE SPEED

WordPress Optimization

SharePoint Performance Optimization

Creating Value through Innovation MAGENTO 1.X TO MAGENTO 2.0 MIGRATION

12 Steps to Ensure Successful SaaS Delivery

SharePoint 2010 Performance and Capacity Planning Best Practices

Web Performance Management 12 Steps To Ensure Successful SAAS Delivery How To Protect Revenue, Renewals & Customer Satisfaction

SiteCelerate white paper

A telecom use case with Cloud Foundry deployment

Performance for Site Builders

MAGENTO HOSTING Progressive Server Performance Improvements

Learning To Fly: How Angry Birds Reached the Heights of Store Performance

Magento Performance Optimization Whitepaper

Optimizing WordPress Performance: Page Speed and Load Times. Doug Yuen

Magento & Zend Benchmarks Version 1.2, 1.3 (with & without Flat Catalogs)

WompMobile Technical FAQ

CTIS 256 Web Technologies II. Week # 1 Serkan GENÇ

Performance Tuning and Optimizing SQL Databases 2016

Website Optimization Tips for Speed

Let s Take the Mobile Out of Web Development

WHAT WE NEED TO START THE PERFORMANCE TESTING?

Why Web Performance Matters Open Text Web Solutions Usergroup Anwendertagung Feb Tobias Dreyschultze Tobel Online Web Consultancy

Mobile Application Performance Report

MakeMyTrip CUSTOMER SUCCESS STORY

A BASELINE FOR WEB PERFORMANCE WITH PHANTOMJS

Tableau Server Scalability Explained

Optimizing Drupal Performance. Benchmark Results

Cache All The Things

Varnish the Drupal way

HOW IS WEB APPLICATION DEVELOPMENT AND DELIVERY CHANGING?

Website Performance: Kyle Simpson

EXECUTIVE SUMMARY CONTENTS. 1. Summary 2. Objectives 3. Methodology and Approach 4. Results 5. Next Steps 6. Glossary 7. Appendix. 1.

Monitoring Best Practices for

Testing on the other side of the pendulum

Q: What is the difference between the other load testing tools which enables the wan emulation, location based load testing and Gomez load testing?

ZingMe Practice For Building Scalable PHP Website. By Chau Nguyen Nhat Thanh ZingMe Technical Manager Web Technical - VNG

Kentico CMS 6.0 Performance Test Report. Kentico CMS 6.0. Performance Test Report February 2012 ANOTHER SUBTITLE

Using Redis as a Cache Backend in Magento

BUSINESS IMPACT OF POOR WEB PERFORMANCE

Scaling out a SharePoint Farm and Configuring Network Load Balancing on the Web Servers. Steve Smith Combined Knowledge MVP SharePoint Server

Mike Chyi, Micro Focus Solution Consultant May 12, 2010

Zend and IBM: Bringing the power of PHP applications to the enterprise

Update logo and logo link on A Master. Update Date and Product on B Master

A 100k Users.. Now What?

Top 10 reasons your ecommerce site will fail during peak periods

Cloud Based Application Architectures using Smart Computing

Following statistics will show you the importance of mobile applications in this smart era,

Wikimedia Architecture Doing More With Less. Asher Feldman Ryan Lane Wikimedia Foundation Inc.

WHITE PAPER WORK PROCESS AND TECHNOLOGIES FOR MAGENTO PERFORMANCE (BASED ON FLIGHT CLUB) June, Project Background

Tableau Server 7.0 scalability

Header 1. John T. Irwin Software Consulting Manager EMEA Managing End User Experience

Performance Test Report KENTICO CMS 5.5. Prepared by Kentico Software in July 2010

LYONSCG ECOMMERCE ACCELERATOR (LEA) FOR MAGENTO. Discussion of Features

ZEN LOAD BALANCER EE v3.04 DATASHEET The Load Balancing made easy

Introduction 1 Performance on Hosted Server 1. Benchmarks 2. System Requirements 7 Load Balancing 7

Web Application Deployment in the Cloud Using Amazon Web Services From Infancy to Maturity

ABTO Software PHP Web Development Overview

2012 Annual State of the Union: E-Commerce Page Speed and Website Performance

Monitoring and Diagnosing Oracle RAC Performance with Oracle Enterprise Manager

Drupal in the Cloud. by Azhan Founder/Director S & A Solutions

1.0 Hardware Requirements:

How To Choose A Hosting Package For Your Website

How To Understand The Power Of A Content Delivery Network (Cdn)

Liferay Portal Performance. Benchmark Study of Liferay Portal Enterprise Edition

A Tool for Evaluation and Optimization of Web Application Performance

Monitoring Best Practices for

1 How to Monitor Performance

Why Mobile Performance is Hard

Build Your Own Performance Test Lab in the Cloud. Leslie Segal Testware Associate, Inc.

Monitoring and Diagnosing Oracle RAC Performance with Oracle Enterprise Manager. Kai Yu, Orlando Gallegos Dell Oracle Solutions Engineering

TESTING AND OPTIMIZING WEB APPLICATION S PERFORMANCE AQA CASE STUDY

Benchmark Performance Test Results for Magento Enterprise Edition

A Baseline for Web Performance

SELECTING ECOMMERCE WEB HOSTING & SUPPORT

Amazon Web Services Yu Xiao

Web 2.0 Scalability. Issues with & tactics for allowing sites and services to survive on the Social Web

Transcription:

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 Sa 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 Linux Manager 02 Load Testing Results

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 www www db db

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 www db www Performs worse than the baseline Enabled Enterprise Edition Full Page Cache, but not fully utilized Replaced stock Magento frontend with Expression Engine

Client Response Time vs. Traffic www Performs better than the baseline Enabled a number of custom plugins Using Varnish and third-party plugin

Client Response Time vs. Traffic www www www db Performs better than the baseline Front-end designed for Magento Using Enterprise Edition FPC Using local HTTP Accelerator

Client Response Time vs. Traffic www db www Best scalability of all tested sites Most consistent performance Front-end designed for Magento Using Enterprise Edition FPC Using cloud-based HTTP accelerator

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

Doug Goldberg Vice President, Magento Solutions 03 Best Practices in Magento Development

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

Aaron Koch Vice President, Direct Sales 05 The Link Between Performance and Conversion

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