code performance means business performance (presented by christophe dujarric at ez conference 2016)
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