Code Performance Means Business Performance (presented by Christophe Dujarric at eZ Conference 2016)

Post on 19-Jan-2017

184 views 2 download

transcript

blackfire.io @blackfireio #blackfireio

Code Performance Means Business Performance

eZ Conference 2016 - Paris

blackfire.io @blackfireio #blackfireio

Christophe Dujarric @Chris_Dujarric Product guy. Loves simple things that solve real problems.

Paris, France

Blackfire.io/SensioLabs

christophedujarric.wordpress.com

/christophedujarric

blackfire.io @blackfireio #blackfireio

blackfire.io @blackfireio #blackfireio

53% of mobile site visits are abandonned if pages

take longer than 3 seconds to load

https://www.doubleclickbygoogle.com/articles/mobile-speed-matters/

blackfire.io @blackfireio #blackfireio

« @SFR, I’d love to get an Internet connection so I can work. Your quality of service is even worse than @SNCF »

blackfire.io @blackfireio #blackfireio

« @Mchaumier You can get free and unlimited Wifi in all major French train stations »

blackfire.io @blackfireio #blackfireio

« @SNCF Sorry for the delayed response @Mchaumier, my train was late. More seriously,…»

blackfire.io @blackfireio #blackfireio

« @SFR @Mchaumier Wow, a joke on late trains… That’s unusual! Almost as exceptional as getting 4G coverage on your network! »

Average homepage load time on 3G networks: 19 seconds on 4G networks: 14 seconds

https://www.doubleclickbygoogle.com/articles/mobile-speed-matters/

blackfire.io @blackfireio #blackfireio

blackfire.io @blackfireio #blackfireio

https://blog.radware.com/applicationdelivery/applicationaccelerationoptimization/2013/10/case-study-slow-load-times-shopping-cart-abandonment/

2-second delay during checkout increases the abandonment rate by

up to 30%

Publishers whose mobile sites load in 5 seconds earn

up to 2x more mobile ad revenue than those whose sites load in 19 seconds.

https://www.doubleclickbygoogle.com/articles/mobile-speed-matters/

blackfire.io @blackfireio #blackfireio

Why is an app slow?

blackfire.io @blackfireio #blackfireio

Your business Your customers

blackfire.io @blackfireio #blackfireio

-100ms+1%revenue

-2.2s+15%downloads

blackfire.io @blackfireio #blackfireio

16 years ago...

blackfire.io @blackfireio #blackfireio

Our highest priority is to satisfy the customer through early and continuous delivery of valuable software.

Principle behind the Agile Manifesto (1/12)

blackfire.io @blackfireio #blackfireio

Continuous attention to technical excellence and good design enhances agility.

Principle behind the Agile Manifesto (9/12)

blackfire.io @blackfireio #blackfireio

Solving issues in production costs a lotmore than solving them in development

There is no flawless software

blackfire.io @blackfireio #blackfireio

Simplicity--the art of maximizing the amount of work not done--is essential.

Principle behind the Agile Manifesto (10/12)

So, you need tools?

You cannot optimize what you cannot measure

Measuring performance impacts performance

Metrics should be actionable

blackfire.io @blackfireio #blackfireio

There is no stand-alone performance solution

blackfire.io @blackfireio #blackfireio

What tool for what purpose?Performance Analysis / Performance Monitoring / Active performance management

Code / Server / Network / User terminal

Development / Test/Staging /Production

blackfire.io @blackfireio #blackfireio

APM is

Application. Performance. Management.

blackfire.io @blackfireio #blackfireio

ProfilingLoad Balancing

Monitoring

Code User

CDNTesting EUEM

UDTP

FEO

blackfire.io @blackfireio #blackfireio

Front End Optimization

Reducing HTTP calls number

Reducing image sizes

Optimizing page rendering sequence (most important to least important content)

FEO & CDNContent Delivery Network

Reducing the distance between content and user

Caching heavy content

Distributed network of proxy servers + load balancing

blackfire.io @blackfireio #blackfireio

End-user Experience Mangement

From the server to the user device

Business analytics tied to performance KPIs

Various technical implementations with pros and cons

EUEM & UDTPUser-Defined Transaction Profiling

Overview of performance of a business transaction across infrastructure components

Analytical view to determine the slowest/mot error prone part of your infrastructure

blackfire.io @blackfireio #blackfireio

Production Supervision

Infrastructure monitoring

Analytics and trends

Alerts and 1st level of insight (DB queries, errors,…)

Monitoring & Load Balancing

Load balancing

Optimize resource use, maximize throughput, minimize response time, and avoid overload

Redirecting user sessions to other servers

blackfire.io @blackfireio #blackfireio

Testing

Load testing

Code performance testing

Unit testing

Testing & ProfilingProfiling

Understanding code behaviour

Detailing resources consumption at code level

Comparing code changes

blackfire.io @blackfireio #blackfireio

Id eos hinc vituperata liberavisse, persecuti philosophia ius cu, ea ubique corpora nec. Eam liber postulant no, at has graeco maluisset, qui purto graeco democritum ne. Pri id dolor fabulas utroque, eros omnes vix ne.

The right tool

for the right purpose

Good performance starts with good code

blackfire.io @blackfireio #blackfireio

Low hanging fruits-13.475 SQL queries resulting in - 4.2 s

Production configuration issue 15 s load time down to <2 s

Third party extension optimization, -500 SQL queries and -35% load time

blackfire.io @blackfireio #blackfireio

This is not

what you want

blackfire.io @blackfireio #blackfireio

You want this

from the top to the end

blackfire.io @blackfireio #blackfireio

An optimal blend?Profiling and performance testing

Content delivery network & front end optimization

Application Performance Monitoring

Cutting edge PaaS

Learn more on blackfire.io/docs/24-days

Stay tuned on blog.blackfire.io

for more news on upcoming features