Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while...

Post on 16-Apr-2017

299 views 0 download

Transcript of Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while...

Meet MagentoMilan Conference

#MLIT2016

A word about

Parisian startup

fast growth since 2012

SaaS app dedicated to

Magento’s Performance

Meet MagentoMilan Conference

#MLIT2016

SPEED IS KEY

Meet MagentoMilan Conference

#MLIT2016

The ETAM Optimization

Top 5 Magento FR

200M+ pv/year

1.2s 500ms

4.4 yearsWaiting time saved:

Meet MagentoMilan Conference

#MLIT2016

The ETAM Optimization

After optimization:

+28% pages views / session

+21% time spent / visit

+20% conversion rate !

Top 5 Magento FR

200M+ pv/year

1.2s 500ms

Meet MagentoMilan Conference

#MLIT2016

Internet giants LOVE speed

+20% revenue

on AD banners

+1% revenue

(for each 100ms !)

+9% traffic

- 500ms - 100ms - 400ms

Meet MagentoMilan Conference

#MLIT2016

Magento stores using Quanta

+27%

conversion

+15%

conversion+20%

conversion

- 2 seconds - 1.2 seconds - 700ms

Meet MagentoMilan Conference

#MLIT2016

Additional benefits of speed

Brand Image

Handling

peak hours

SEO / SEM

User experience Engagement metrics

Meet MagentoMilan Conference

#MLIT2016

Average Page Load Time with Magento

Average of TOP 200

Page load time

?

100 msRecommended time

to maximize conversion

Meet MagentoMilan Conference

#MLIT2016

Average Page Load Time with Magento

Average of TOP 200

Recommended time

to maximize conversion

490 ms

100 ms

Page load time

Meet MagentoMilan Conference

#MLIT2016

WHY ARE BRANDS

STRUGGLING

WITH SPEED?

Meet MagentoMilan Conference

#MLIT2016

A technical and organizational complexity

PeeringCDN

Switch

Datacenter Firewall

Loadbalancer

Orders

$SSL

Database

schema

MySQL

SSDNginx

Products

Magento

Visits

Inventory

Apache

PHP

VarnishLinux

Packages

Kernel

Lib

Zend

Xen

VM

Hardware Raid

VMware

ESXi

Payment

plateform

Meet MagentoMilan Conference

#MLIT2016

A technical and organizational complexity

PeeringCDN

Switch

Datacenter Firewall

Loadbalancer

Orders

$SSL

Database

schema

MySQL

SSDNginx

Products

Magento

Visits

Inventory

Apache

PHP

VarnishLinux

Packages

Kernel

Lib

Zend

Xen

VM

Hardware Raid

VMware

ESXi

Payment

plateform

Web team

Meet MagentoMilan Conference

#MLIT2016

A technical and organizational complexity

PeeringCDN

Switch

Datacenter Firewall

Loadbalancer

Orders

$SSL

Database

schema

MySQL

SSDNginx

Products

Magento

Visits

Inventory

Apache

PHP

VarnishLinux

Packages

Kernel

Lib

Zend

Xen

VM

Hardware Raid

VMware

ESXi

Payment

plateform

Web team

System team

Meet MagentoMilan Conference

#MLIT2016

A technical and organizational complexity

PeeringCDN

Switch

Datacenter Firewall

Loadbalancer

Orders

$SSL

Database

schema

MySQL

SSDNginx

Products

Magento

Visits

Inventory

Apache

PHP

VarnishLinux

Packages

Kernel

Lib

Zend

Xen

VM

Hardware Raid

VMware

ESXi

Payment

plateform

Web team

System team

Network team

Meet MagentoMilan Conference

#MLIT2016

A technical and organizational complexity

PeeringCDN

Switch

Datacenter Firewall

Loadbalancer

Orders

$SSL

Database

schema

MySQL

SSDNginx

Products

Magento

Visits

Inventory

Apache

PHP

VarnishLinux

Packages

Kernel

Lib

Zend

Xen

VM

Hardware Raid

VMware

ESXi

Payment

plateform

Web team

System team

Network team

Brand

Meet MagentoMilan Conference

#MLIT2016

PeeringCDN

Switch

Datacenter Firewall

Loadbalancer

Orders

$SSL

Database

schema

MySQL

SSDNginx

Products

Magento

Visits

Inventory

Apache

PHP

VarnishLinux

Packages

Kernel

Lib

Zend

Xen

VM

Hardware Raid

VMware

ESXi

Payment

plateform

A technical and organizational complexity

Web team

System team

Network team

Brand

Meet MagentoMilan Conference

#MLIT2016

PeeringCDN

Switch

Datacenter Firewall

Loadbalancer

Orders

$SSL

Database

schema

MySQL

SSDNginx

Products

Magento

Visits

Inventory

Apache

PHP

VarnishLinux

Packages

Kernel

Lib

Zend

Xen

VM

Hardware Raid

VMware

ESXi

Payment

plateform

A technical and organizational complexity

Web team

System team

Network team

Brand??

?

?

Meet MagentoMilan Conference

#MLIT2016

A UNIQUE KPI

TO RULE THEM ALL

Meet MagentoMilan Conference

#MLIT2016

Performance Intelligence

PeeringCDN

Switch

Datacenter Firewall

Loadbalancer

Orders

$SSL

Database

schema

MySQL

SSDNginx

Products

Magento

Visits

Inventory

Apache

PHP

VarnishLinux

Packages

Kernel

Lib

Zend

Xen

VM

Hardware Raid

VMware

ESXi

Payment

plateform

Meet MagentoMilan Conference

#MLIT2016

Network team

Performance Intelligence

PeeringCDN

Switch

Datacenter Firewall

Loadbalancer

Orders

$SSL

Database

schema

MySQL

SSDNginx

Products

Magento

Visits

Inventory

Apache

PHP

VarnishLinux

Packages

Kernel

Lib

Zend

Xen

VM

Hardware Raid

VMware

ESXi

Payment

plateform

Performance

Intelligence

Data

Brand

Web team

System team

Meet MagentoMilan Conference

#MLIT2016

Performance Intelligence example 1

What’s the average Infrastructure Cost for 1 Click on your site?

PeeringCDN

Switch

Datacenter Firewall

Loadbalancer

Orders

$SSL

Database

schema

MySQL

SSDNginx

Products

Magento

Visits

Inventory

Apache

PHP

VarnishLinux

Packages

Kernel

Lib

Zend

Xen

VM

Hardware Raid

VMware

ESXi

Payment

plateformPerformance

Intelligence

Data

Meet MagentoMilan Conference

#MLIT2016

Performance Intelligence example 1

What’s the average Infrastructure Cost for 1 Click on your site?

PeeringCDN

Switch

Datacenter Firewall

Loadbalancer

Orders

$SSL

Database

schema

MySQL

SSDNginx

Products

Magento

Visits

Inventory

Apache

PHP

VarnishLinux

Packages

Kernel

Lib

Zend

Xen

VM

Hardware Raid

VMware

ESXi

Payment

plateformPerformance

Intelligence

DataCPU

Meet MagentoMilan Conference

#MLIT2016

Performance Intelligence example 1

What’s the average Infrastructure Cost for 1 Click on your site?

PeeringCDN

Switch

Datacenter Firewall

Loadbalancer

Orders

$SSL

Database

schema

MySQL

SSDNginx

Products

Magento

Visits

Inventory

Apache

PHP

VarnishLinux

Packages

Kernel

Lib

Zend

Xen

VM

Hardware Raid

VMware

ESXi

Payment

plateformPerformance

Intelligence

DataCPU

Pageviews

Meet MagentoMilan Conference

#MLIT2016

Performance Intelligence example 1

=

ICC(Infrastructure Cost per Click)

What’s the average Infrastructure Cost for 1 Click on your site?

CPU

Pageviews

Anomaly

Meet MagentoMilan Conference

#MLIT2016

Performance Intelligence example 2

How to correlate an anomaly in production with a store event?

Spike

Cache Flush

Meet MagentoMilan Conference

#MLIT2016

Performance Intelligence example 2

How to correlate an anomaly in production with a store event?

Hardware events : RAID failures, DISK I/Os

Meet MagentoMilan Conference

#MLIT2016

Performance Intelligence example 2

How to correlate an anomaly in production with a store event?

Meet MagentoMilan Conference

#MLIT2016

Performance Intelligence example 3

How to check your cache system efficiency ?

Seems obvious, but first : use CACHE

- BlockCache (Magento)

- FullPageCache (Magento EE)

- Opcode Cache (PHP)

- Varnish (Proxy cache)

Code

Code

Server

Server/network

Perf. Int.Then, CONTROL your cache policy

Meet MagentoMilan Conference

#MLIT2016

Performance Intelligence example 3

How to check your cache system efficiency ?

PeeringCDN

Switch

Datacenter Firewall

Loadbalancer

Orders

$SSL

Database

schema

MySQL

SSDNginx

Products

Magento

Visits

Inventory

Apache

PHP

VarnishLinux

Packages

Kernel

Lib

Zend

Xen

VM

Hardware Raid

VMware

ESXi

Payment

plateformPerformance

Intelligence

Data

Meet MagentoMilan Conference

#MLIT2016

Performance Intelligence example 3

How to check your cache system efficiency ?

PeeringCDN

Switch

Datacenter Firewall

Loadbalancer

Orders

$SSL

Database

schema

MySQL

SSDNginx

Products

Magento

Visits

Inventory

Apache

PHP

VarnishLinux

Packages

Kernel

Lib

Zend

Xen

VM

Hardware Raid

VMware

ESXi

Payment

plateformPerformance

Intelligence

Data

Meet MagentoMilan Conference

#MLIT2016

Performance Intelligence example 3

How to check your cache system efficiency ?

Meet MagentoMilan Conference

#MLIT2016

Performance Intelligence example 3

How to check your cache system efficiency ?

Cache OK Cache NOK

Magento time

Server time

Meet MagentoMilan Conference

#MLIT2016

Performance Intelligence example 4

How can I find the biggest bottleneck in my store?

PeeringCDN

Switch

Datacenter Firewall

Loadbalancer

Orders

$SSL

Database

schema

MySQL

SSDNginx

Products

Magento

Visits

Inventory

Apache

PHP

VarnishLinux

Packages

Kernel

Lib

Zend

Xen

VM

Hardware Raid

VMware

ESXi

Payment

plateformPerformance

Intelligence

Data

Meet MagentoMilan Conference

#MLIT2016

Performance Intelligence example 4

How can I find the biggest bottleneck in my store?

PeeringCDN

Switch

Datacenter Firewall

Loadbalancer

Orders

$SSL

Database

schema

MySQL

SSDNginx

Products

Magento

Visits

Inventory

Apache

PHP

VarnishLinux

Packages

Kernel

Lib

Zend

Xen

VM

Hardware Raid

VMware

ESXi

Payment

plateformPerformance

Intelligence

Data

Profiling

Meet MagentoMilan Conference

#MLIT2016

Performance Intelligence

Example 3 :

How can I find the biggest bottleneck in my store?One single block of code can take

85% of total page load time

so let’s search for bottlenecks!

Meet MagentoMilan Conference

#MLIT2016

Do you want to join the “optimize Magento” effort ?

Meet MagentoMilan Conference

#MLIT2016

Thank you

Twitter: @gthibaux

LinkedIn: fr.linkedin.com/in/thibaux

Email: guillaume.thibaux@quanta-computing.com