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

38

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

Page 1: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.
Page 2: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

Meet MagentoMilan Conference

#MLIT2016

A word about

Parisian startup

fast growth since 2012

SaaS app dedicated to

Magento’s Performance

Page 3: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

Meet MagentoMilan Conference

#MLIT2016

SPEED IS KEY

Page 4: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

Meet MagentoMilan Conference

#MLIT2016

The ETAM Optimization

Top 5 Magento FR

200M+ pv/year

1.2s 500ms

4.4 yearsWaiting time saved:

Page 5: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

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

Page 6: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

Meet MagentoMilan Conference

#MLIT2016

Internet giants LOVE speed

+20% revenue

on AD banners

+1% revenue

(for each 100ms !)

+9% traffic

- 500ms - 100ms - 400ms

Page 7: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

Meet MagentoMilan Conference

#MLIT2016

Magento stores using Quanta

+27%

conversion

+15%

conversion+20%

conversion

- 2 seconds - 1.2 seconds - 700ms

Page 8: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

Meet MagentoMilan Conference

#MLIT2016

Additional benefits of speed

Brand Image

Handling

peak hours

SEO / SEM

User experience Engagement metrics

Page 9: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

Meet MagentoMilan Conference

#MLIT2016

Average Page Load Time with Magento

Average of TOP 200

Page load time

?

100 msRecommended time

to maximize conversion

Page 10: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

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

Page 11: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

Meet MagentoMilan Conference

#MLIT2016

WHY ARE BRANDS

STRUGGLING

WITH SPEED?

Page 12: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

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

Page 13: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

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

Page 14: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

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

Page 15: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

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

Page 16: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

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

Page 17: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

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

Page 18: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

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??

?

?

Page 19: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

Meet MagentoMilan Conference

#MLIT2016

A UNIQUE KPI

TO RULE THEM ALL

Page 20: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

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

Page 21: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

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

Page 22: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

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

Page 23: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

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

Page 24: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

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

Page 25: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

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

Page 26: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

Meet MagentoMilan Conference

#MLIT2016

Performance Intelligence example 2

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

Spike

Cache Flush

Page 27: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

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

Page 28: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

Meet MagentoMilan Conference

#MLIT2016

Performance Intelligence example 2

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

Page 29: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

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

Page 30: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

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

Page 31: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

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

Page 32: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

Meet MagentoMilan Conference

#MLIT2016

Performance Intelligence example 3

How to check your cache system efficiency ?

Page 33: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

Meet MagentoMilan Conference

#MLIT2016

Performance Intelligence example 3

How to check your cache system efficiency ?

Cache OK Cache NOK

Magento time

Server time

Page 34: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

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

Page 35: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

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

Page 36: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

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!

Page 37: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

Meet MagentoMilan Conference

#MLIT2016

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

Page 38: Guillaume Thibaux - Can we win the fight against performance bottlenecks? Lessons learned while monitoring 350 Magento stores.

Meet MagentoMilan Conference

#MLIT2016

Thank you

Twitter: @gthibaux

LinkedIn: fr.linkedin.com/in/thibaux

Email: [email protected]