SlideShare a Scribd company logo
Performance Matters Exploring Optimizing Magento Page Loads Thomas Powell Joe Lima [email_address] [email_address]
Punchline First Speed effects outcomes online Magento can be accelerated using common Web optimization techniques including: Gzip Compression Reverse Proxy Cache Cache Control JavaScript Optimizations Request Reduction CDNs
Speed is Not Optional “ First and foremost, we believe that speed is more than a feature.  Speed is the most important feature.  If your application is slow, people won ’ t use it. ” Fred Wilson, Well known Internet VC Source: 10 Golden Principles of Successful Web Apps http://thinkvitamin.com/web-apps/fred-wilsons-10-golden-principles-of-successful-web-apps/
Many Stats Support This
We Must be Faster! The floor is ~1 second Don ’ t buy into the broadband fallacy Human nature will prove you wrong … as will latency Given 99% rule of usability you are being compared against Google, Amazon, etc. whether you like it or not
Why Slow? 3 fundamental reasons – from most to least controllable Server Network Client
Our Golden Rules Do less, less often Send less, less often Keep your clients close
Hardware & Bandwith Doesn ’ t Cure  ‘ Slowitis ’ More hardware will help address page generation times but little else Bandwidth is only one part of your delivery challenge Effective throughput on average for the Web is only around 5mbps Note both are essential for scaling!
Speeding Up Magento Admittedly Magento doesn ’ t have a glowing reputation for speed in the community Realistically though few apps/sites do, especially if they are feature rich General Trade-off – more features, flexibility usually equals less speed
Stock Community Edition
Stock Enterprise Edition
Front-end Focus “ Five years ago most of the attention on web performance was focused on the backend.  Since then we ’ ve learned that 80% of the time users wait for a web page to load is the responsibility of the frontend. ” -Steve Souders, Google Head Performance Engineer and Author of  “ High Performance Web Sites ” “ 97% of mobile end-user response time happens at front-end”    - Joshua Bixby, President of Strange Loop Networks
Let ’ s Start Optimizing
Gzip Compression HTML, CSS, JS compression Widely supported Significant speed up for long latency connections Approach 1 – Server Level – mod_deflate Approach 2 – PHP Level Hosting issues only legit reason to do there
Simple Configuration Often installed but not enabled
Gzip On
TTFB Too Long Time to first byte being so long is an indication, in our control environment, of long server side generation times If this has already been addressed, and then shows up in the production environment, it is typically an indication of a capacity problem
Addressing Page Build Times APC – Alternative PHP Cache Avoid interpret time and cache opcode for second fetch run improvement http://magebase.com/magento-tutorials/speeding-up-magento-with-apc-or-memcached/
After APC
Page Caching TTFB is still pretty long Consider the issue of static dynamics Is content changing or not? If not, cache it! Varnish Cache  www.varnish-cache.org Magento-varnish  https://github.com/madalinoprea/magneto-varnish
After Varnish You will have a delay on first request to prime the cache, but afterwards…
Too Many Requests Too many HTTP requests can really slow a page down.
CSS and JS Bundling Easy to fix CSS and JS issues in Magento
Minification Don ’ t just bundle  “ crunch ”  your CSS and JavaScript (and HTML!) Focus most on JavaScript because of byte count and parse time http://code.google.com/p/minify http://code.google.com/closure/compiler http://marijnhaverbeke.nl/uglifyjs
JS Blocking! Non-deferred JS will block browser execution Simple solution: move code to the bottom Better solution: load order manager
Render Time after Shifting JS Magento Pitfall – Inline Script Execution
Image Issues Images are not optimized well Fix with jpegmini.com, smush.it, Photoshop, etc.
Image Optimization There are just too many image requests
CSS Sprites Bundle images into single (or small number of images) Then use CSS rules to show just the portion of the sprite file at a particular point in the page
Sprite Result Sub 2s render! We went a little overboard though
Repeat View Set cache control headers (Expires, Max-Age, etc.) so browser and proxies aren ’ t guessing about caching For Apache use mod_headers and mod_expires Set static object expiration far in future and change object name if updated Don ’ t cache  “ base ”  resource long term Note lots of user cache flushing
Getting Close
Big Problem - Distance Point source hosting you can ’ t be close to everyone and distance matters http://assets.en.oreilly.com/1/event/44/TCP%20and%20the%20Lower%20Bound%20of%20Web%20Performance%20Presentation.pdf
Kiwis don’t enjoy our store
Bandwidth doesn ’ t matter (much) http://www.belshe.com/2010/05/24/more-bandwidth-doesnt-matter-much/
Round Trips Matter Lower round-trip time = Better page load time
Content Distribution Networks CDNs reduce latency by moving large static assets closer to end users Amazon Cloudfront, MaxCDN, etc. Considerations Cost Sharded domain name – images.yoursite.com Might want this for SSL traffic as well! JS on CDN can have some origin issues
All As!
Google still wins!
Always More 3 rd  party components are killing performance – think before you slap that script in  JS optimization (lazy load, microlibs, etc.) Prefetching and pre-rendering tricks Really should track end user performance with deliver & render analytics Of course no matter how fancy you get this does only address single request which improves scale but doesn't ’ t solve it!
How to do all or most of this? Hand optimize as we did-server, Magento config & template changes Software add-on(s) like Nitrogento An appliance like StangeLoop Site Optimizer ( www.strangeloopnetworks.com ) or smart load balancer A proxy service like  www.cloudfare.com
Example: Nitrogento
Nitrogento Result
Wrap Up Thanks for listening! Now on  to your questions either now or later Thomas Powell ( [email_address] )  &   Joe Lima ( [email_address] )   +1 858.270.2086   www.pint.com   [email_address]   @PINTSD

More Related Content

What's hot

Web Performance Optimization
Web Performance OptimizationWeb Performance Optimization
Web Performance Optimization
Patrick Meenan
 
Speed Up Wordpress, Wordpress Horsepower
Speed Up Wordpress, Wordpress HorsepowerSpeed Up Wordpress, Wordpress Horsepower
Speed Up Wordpress, Wordpress Horsepower
Ross Johnson
 
Measuring Web Performance
Measuring Web Performance Measuring Web Performance
Measuring Web Performance
Dave Olsen
 
Web Unleashed '19 - Measuring the Adoption of Web Performance Techniques
Web Unleashed '19 - Measuring the Adoption of Web Performance TechniquesWeb Unleashed '19 - Measuring the Adoption of Web Performance Techniques
Web Unleashed '19 - Measuring the Adoption of Web Performance Techniques
Paul Calvano
 
Web Client Performance
Web Client PerformanceWeb Client Performance
Web Client Performance
Herea Adrian
 
SearchLove San Diego 2018 | Tom Anthony | An Introduction to HTTP/2 & Service...
SearchLove San Diego 2018 | Tom Anthony | An Introduction to HTTP/2 & Service...SearchLove San Diego 2018 | Tom Anthony | An Introduction to HTTP/2 & Service...
SearchLove San Diego 2018 | Tom Anthony | An Introduction to HTTP/2 & Service...
Distilled
 
How webpage loading takes place?
How webpage loading takes place?How webpage loading takes place?
How webpage loading takes place?
Abhishek Mitra
 
Wordpress horsepower
Wordpress horsepowerWordpress horsepower
Wordpress horsepower
Ross Johnson
 
London Web Performance Meetup: Performance for mortal companies
London Web Performance Meetup: Performance for mortal companiesLondon Web Performance Meetup: Performance for mortal companies
London Web Performance Meetup: Performance for mortal companies
Strangeloop
 
WebPagetest Power Users - Velocity 2014
WebPagetest Power Users - Velocity 2014WebPagetest Power Users - Velocity 2014
WebPagetest Power Users - Velocity 2014
Patrick Meenan
 
Improving frontend performance
Improving frontend performanceImproving frontend performance
Improving frontend performance
Sagar Desarda
 
Walmart pagespeed-slide
Walmart pagespeed-slideWalmart pagespeed-slide
Walmart pagespeed-slide
Bitsytask
 
Caching 101
Caching 101Caching 101
Caching 101
Andy Melichar
 
How to Speed up your Website
How to Speed up your WebsiteHow to Speed up your Website
How to Speed up your Website
HTS Hosting
 
Web Performance Internals explained for Developers and other stake holders.
Web Performance Internals explained for Developers and other stake holders.Web Performance Internals explained for Developers and other stake holders.
Web Performance Internals explained for Developers and other stake holders.
Sreejesh Madonandy
 
Performace optimization (increase website speed)
Performace optimization (increase website speed)Performace optimization (increase website speed)
Performace optimization (increase website speed)
clickramanm
 
Web performance optimization (WPO)
Web performance optimization (WPO)Web performance optimization (WPO)
Web performance optimization (WPO)
Mariusz Kaczmarek
 
Presentation1
Presentation1Presentation1
Presentation1
Rosie brown
 
Hands on performance testing and analysis with web pagetest
Hands on performance testing and analysis with web pagetestHands on performance testing and analysis with web pagetest
Hands on performance testing and analysis with web pagetest
Patrick Meenan
 
WordCamp RVA 2011 - Performance & Tuning
WordCamp RVA 2011 - Performance & TuningWordCamp RVA 2011 - Performance & Tuning
WordCamp RVA 2011 - Performance & Tuning
Timothy Wood
 

What's hot (20)

Web Performance Optimization
Web Performance OptimizationWeb Performance Optimization
Web Performance Optimization
 
Speed Up Wordpress, Wordpress Horsepower
Speed Up Wordpress, Wordpress HorsepowerSpeed Up Wordpress, Wordpress Horsepower
Speed Up Wordpress, Wordpress Horsepower
 
Measuring Web Performance
Measuring Web Performance Measuring Web Performance
Measuring Web Performance
 
Web Unleashed '19 - Measuring the Adoption of Web Performance Techniques
Web Unleashed '19 - Measuring the Adoption of Web Performance TechniquesWeb Unleashed '19 - Measuring the Adoption of Web Performance Techniques
Web Unleashed '19 - Measuring the Adoption of Web Performance Techniques
 
Web Client Performance
Web Client PerformanceWeb Client Performance
Web Client Performance
 
SearchLove San Diego 2018 | Tom Anthony | An Introduction to HTTP/2 & Service...
SearchLove San Diego 2018 | Tom Anthony | An Introduction to HTTP/2 & Service...SearchLove San Diego 2018 | Tom Anthony | An Introduction to HTTP/2 & Service...
SearchLove San Diego 2018 | Tom Anthony | An Introduction to HTTP/2 & Service...
 
How webpage loading takes place?
How webpage loading takes place?How webpage loading takes place?
How webpage loading takes place?
 
Wordpress horsepower
Wordpress horsepowerWordpress horsepower
Wordpress horsepower
 
London Web Performance Meetup: Performance for mortal companies
London Web Performance Meetup: Performance for mortal companiesLondon Web Performance Meetup: Performance for mortal companies
London Web Performance Meetup: Performance for mortal companies
 
WebPagetest Power Users - Velocity 2014
WebPagetest Power Users - Velocity 2014WebPagetest Power Users - Velocity 2014
WebPagetest Power Users - Velocity 2014
 
Improving frontend performance
Improving frontend performanceImproving frontend performance
Improving frontend performance
 
Walmart pagespeed-slide
Walmart pagespeed-slideWalmart pagespeed-slide
Walmart pagespeed-slide
 
Caching 101
Caching 101Caching 101
Caching 101
 
How to Speed up your Website
How to Speed up your WebsiteHow to Speed up your Website
How to Speed up your Website
 
Web Performance Internals explained for Developers and other stake holders.
Web Performance Internals explained for Developers and other stake holders.Web Performance Internals explained for Developers and other stake holders.
Web Performance Internals explained for Developers and other stake holders.
 
Performace optimization (increase website speed)
Performace optimization (increase website speed)Performace optimization (increase website speed)
Performace optimization (increase website speed)
 
Web performance optimization (WPO)
Web performance optimization (WPO)Web performance optimization (WPO)
Web performance optimization (WPO)
 
Presentation1
Presentation1Presentation1
Presentation1
 
Hands on performance testing and analysis with web pagetest
Hands on performance testing and analysis with web pagetestHands on performance testing and analysis with web pagetest
Hands on performance testing and analysis with web pagetest
 
WordCamp RVA 2011 - Performance & Tuning
WordCamp RVA 2011 - Performance & TuningWordCamp RVA 2011 - Performance & Tuning
WordCamp RVA 2011 - Performance & Tuning
 

Similar to Magento Performance Improvements with Client Side Optimizations

5 critical-optimizations.v2
5 critical-optimizations.v25 critical-optimizations.v2
5 critical-optimizations.v2
Blaze Software Inc.
 
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital Marketers
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital MarketersSearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital Marketers
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital Marketers
Distilled
 
Please, dont touch the slow parts v.3.6 @webtechcon
Please, dont touch the slow parts v.3.6 @webtechconPlease, dont touch the slow parts v.3.6 @webtechcon
Please, dont touch the slow parts v.3.6 @webtechcon
Francesco Fullone
 
SEO 101 - Google Page Speed Insights Explained
SEO 101 - Google Page Speed Insights Explained SEO 101 - Google Page Speed Insights Explained
SEO 101 - Google Page Speed Insights Explained
Steve Weber
 
load speed problems of web resources on the client side classification and ...
 load speed problems of web resources on the client side  classification and ... load speed problems of web resources on the client side  classification and ...
load speed problems of web resources on the client side classification and ...
INFOGAIN PUBLICATION
 
AJAX for Scalability
AJAX for ScalabilityAJAX for Scalability
AJAX for Scalability
Tuenti
 
Ajax For Scalability
Ajax For ScalabilityAjax For Scalability
Ajax For Scalability
erikschultink
 
How to optimize your Magento store
How to optimize your Magento store How to optimize your Magento store
How to optimize your Magento store
Rasbor.com
 
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The Edge
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The EdgeBrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The Edge
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The Edge
Dan Taylor
 
Magento performancenbs
Magento performancenbsMagento performancenbs
Magento performancenbs
varien
 
7 secrets of performance oriented front end development services
7 secrets of performance oriented front end development services7 secrets of performance oriented front end development services
7 secrets of performance oriented front end development services
Katy Slemon
 
Speed!
Speed!Speed!
Scaling 101 test
Scaling 101 testScaling 101 test
Scaling 101 test
Rashmi Sinha
 
Scaling 101
Scaling 101Scaling 101
Scaling 101
Chris Finne
 
Show Me The Cache!
Show Me The Cache!Show Me The Cache!
Show Me The Cache!
Andy Melichar
 
Frontend performance
Frontend performanceFrontend performance
Frontend performance
sacred 8
 
Cache is keeping you from reaching the full potential as a developer (word ca...
Cache is keeping you from reaching the full potential as a developer (word ca...Cache is keeping you from reaching the full potential as a developer (word ca...
Cache is keeping you from reaching the full potential as a developer (word ca...
Thomas Audunhus
 
Csdn Drdobbs Tenni Theurer Yahoo
Csdn Drdobbs Tenni Theurer YahooCsdn Drdobbs Tenni Theurer Yahoo
Csdn Drdobbs Tenni Theurer Yahoo
guestb1b95b
 
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
John McCaffrey
 
Windy cityrails performance_tuning
Windy cityrails performance_tuningWindy cityrails performance_tuning
Windy cityrails performance_tuning
John McCaffrey
 

Similar to Magento Performance Improvements with Client Side Optimizations (20)

5 critical-optimizations.v2
5 critical-optimizations.v25 critical-optimizations.v2
5 critical-optimizations.v2
 
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital Marketers
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital MarketersSearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital Marketers
SearchLove San Diego 2018 | Mat Clayton | Site Speed for Digital Marketers
 
Please, dont touch the slow parts v.3.6 @webtechcon
Please, dont touch the slow parts v.3.6 @webtechconPlease, dont touch the slow parts v.3.6 @webtechcon
Please, dont touch the slow parts v.3.6 @webtechcon
 
SEO 101 - Google Page Speed Insights Explained
SEO 101 - Google Page Speed Insights Explained SEO 101 - Google Page Speed Insights Explained
SEO 101 - Google Page Speed Insights Explained
 
load speed problems of web resources on the client side classification and ...
 load speed problems of web resources on the client side  classification and ... load speed problems of web resources on the client side  classification and ...
load speed problems of web resources on the client side classification and ...
 
AJAX for Scalability
AJAX for ScalabilityAJAX for Scalability
AJAX for Scalability
 
Ajax For Scalability
Ajax For ScalabilityAjax For Scalability
Ajax For Scalability
 
How to optimize your Magento store
How to optimize your Magento store How to optimize your Magento store
How to optimize your Magento store
 
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The Edge
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The EdgeBrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The Edge
BrightonSEO 2019 - Edge SEO - Using CDNs To Perform SEO On The Edge
 
Magento performancenbs
Magento performancenbsMagento performancenbs
Magento performancenbs
 
7 secrets of performance oriented front end development services
7 secrets of performance oriented front end development services7 secrets of performance oriented front end development services
7 secrets of performance oriented front end development services
 
Speed!
Speed!Speed!
Speed!
 
Scaling 101 test
Scaling 101 testScaling 101 test
Scaling 101 test
 
Scaling 101
Scaling 101Scaling 101
Scaling 101
 
Show Me The Cache!
Show Me The Cache!Show Me The Cache!
Show Me The Cache!
 
Frontend performance
Frontend performanceFrontend performance
Frontend performance
 
Cache is keeping you from reaching the full potential as a developer (word ca...
Cache is keeping you from reaching the full potential as a developer (word ca...Cache is keeping you from reaching the full potential as a developer (word ca...
Cache is keeping you from reaching the full potential as a developer (word ca...
 
Csdn Drdobbs Tenni Theurer Yahoo
Csdn Drdobbs Tenni Theurer YahooCsdn Drdobbs Tenni Theurer Yahoo
Csdn Drdobbs Tenni Theurer Yahoo
 
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
Ruby on Rails Performance Tuning. Make it faster, make it better (WindyCityRa...
 
Windy cityrails performance_tuning
Windy cityrails performance_tuningWindy cityrails performance_tuning
Windy cityrails performance_tuning
 

Recently uploaded

The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
Larry Smarr
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
Bert Blevins
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
Stephanie Beckett
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
Enterprise Wired
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
Liveplex
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
Matthew Sinclair
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
huseindihon
 
Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
ScyllaDB
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
Eric D. Schabell
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Bert Blevins
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
Yevgen Sysoyev
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
Safe Software
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
Matthew Sinclair
 
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
Toru Tamaki
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
HackersList
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Mydbops
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
Tatiana Al-Chueyr
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
Matthew Sinclair
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
RaminGhanbari2
 

Recently uploaded (20)

The Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive ComputingThe Rise of Supernetwork Data Intensive Computing
The Rise of Supernetwork Data Intensive Computing
 
Password Rotation in 2024 is still Relevant
Password Rotation in 2024 is still RelevantPassword Rotation in 2024 is still Relevant
Password Rotation in 2024 is still Relevant
 
What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024What’s New in Teams Calling, Meetings and Devices May 2024
What’s New in Teams Calling, Meetings and Devices May 2024
 
7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf7 Most Powerful Solar Storms in the History of Earth.pdf
7 Most Powerful Solar Storms in the History of Earth.pdf
 
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALLBLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
BLOCKCHAIN FOR DUMMIES: GUIDEBOOK FOR ALL
 
20240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 202420240705 QFM024 Irresponsible AI Reading List June 2024
20240705 QFM024 Irresponsible AI Reading List June 2024
 
find out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challengesfind out more about the role of autonomous vehicles in facing global challenges
find out more about the role of autonomous vehicles in facing global challenges
 
Measuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at TwitterMeasuring the Impact of Network Latency at Twitter
Measuring the Impact of Network Latency at Twitter
 
Observability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetryObservability For You and Me with OpenTelemetry
Observability For You and Me with OpenTelemetry
 
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
Understanding Insider Security Threats: Types, Examples, Effects, and Mitigat...
 
DealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 editionDealBook of Ukraine: 2024 edition
DealBook of Ukraine: 2024 edition
 
Coordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar SlidesCoordinate Systems in FME 101 - Webinar Slides
Coordinate Systems in FME 101 - Webinar Slides
 
Pigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdfPigging Solutions Sustainability brochure.pdf
Pigging Solutions Sustainability brochure.pdf
 
20240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 202420240704 QFM023 Engineering Leadership Reading List June 2024
20240704 QFM023 Engineering Leadership Reading List June 2024
 
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
論文紹介:A Systematic Survey of Prompt Engineering on Vision-Language Foundation ...
 
How Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdfHow Social Media Hackers Help You to See Your Wife's Message.pdf
How Social Media Hackers Help You to See Your Wife's Message.pdf
 
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - MydbopsScaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
Scaling Connections in PostgreSQL Postgres Bangalore(PGBLR) Meetup-2 - Mydbops
 
Best Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdfBest Practices for Effectively Running dbt in Airflow.pdf
Best Practices for Effectively Running dbt in Airflow.pdf
 
20240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 202420240702 QFM021 Machine Intelligence Reading List June 2024
20240702 QFM021 Machine Intelligence Reading List June 2024
 
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyyActive Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
Active Inference is a veryyyyyyyyyyyyyyyyyyyyyyyy
 

Magento Performance Improvements with Client Side Optimizations

  • 1. Performance Matters Exploring Optimizing Magento Page Loads Thomas Powell Joe Lima [email_address] [email_address]
  • 2. Punchline First Speed effects outcomes online Magento can be accelerated using common Web optimization techniques including: Gzip Compression Reverse Proxy Cache Cache Control JavaScript Optimizations Request Reduction CDNs
  • 3. Speed is Not Optional “ First and foremost, we believe that speed is more than a feature. Speed is the most important feature. If your application is slow, people won ’ t use it. ” Fred Wilson, Well known Internet VC Source: 10 Golden Principles of Successful Web Apps http://thinkvitamin.com/web-apps/fred-wilsons-10-golden-principles-of-successful-web-apps/
  • 5. We Must be Faster! The floor is ~1 second Don ’ t buy into the broadband fallacy Human nature will prove you wrong … as will latency Given 99% rule of usability you are being compared against Google, Amazon, etc. whether you like it or not
  • 6. Why Slow? 3 fundamental reasons – from most to least controllable Server Network Client
  • 7. Our Golden Rules Do less, less often Send less, less often Keep your clients close
  • 8. Hardware & Bandwith Doesn ’ t Cure ‘ Slowitis ’ More hardware will help address page generation times but little else Bandwidth is only one part of your delivery challenge Effective throughput on average for the Web is only around 5mbps Note both are essential for scaling!
  • 9. Speeding Up Magento Admittedly Magento doesn ’ t have a glowing reputation for speed in the community Realistically though few apps/sites do, especially if they are feature rich General Trade-off – more features, flexibility usually equals less speed
  • 12. Front-end Focus “ Five years ago most of the attention on web performance was focused on the backend. Since then we ’ ve learned that 80% of the time users wait for a web page to load is the responsibility of the frontend. ” -Steve Souders, Google Head Performance Engineer and Author of “ High Performance Web Sites ” “ 97% of mobile end-user response time happens at front-end” - Joshua Bixby, President of Strange Loop Networks
  • 13. Let ’ s Start Optimizing
  • 14. Gzip Compression HTML, CSS, JS compression Widely supported Significant speed up for long latency connections Approach 1 – Server Level – mod_deflate Approach 2 – PHP Level Hosting issues only legit reason to do there
  • 15. Simple Configuration Often installed but not enabled
  • 17. TTFB Too Long Time to first byte being so long is an indication, in our control environment, of long server side generation times If this has already been addressed, and then shows up in the production environment, it is typically an indication of a capacity problem
  • 18. Addressing Page Build Times APC – Alternative PHP Cache Avoid interpret time and cache opcode for second fetch run improvement http://magebase.com/magento-tutorials/speeding-up-magento-with-apc-or-memcached/
  • 20. Page Caching TTFB is still pretty long Consider the issue of static dynamics Is content changing or not? If not, cache it! Varnish Cache www.varnish-cache.org Magento-varnish https://github.com/madalinoprea/magneto-varnish
  • 21. After Varnish You will have a delay on first request to prime the cache, but afterwards…
  • 22. Too Many Requests Too many HTTP requests can really slow a page down.
  • 23. CSS and JS Bundling Easy to fix CSS and JS issues in Magento
  • 24. Minification Don ’ t just bundle “ crunch ” your CSS and JavaScript (and HTML!) Focus most on JavaScript because of byte count and parse time http://code.google.com/p/minify http://code.google.com/closure/compiler http://marijnhaverbeke.nl/uglifyjs
  • 25. JS Blocking! Non-deferred JS will block browser execution Simple solution: move code to the bottom Better solution: load order manager
  • 26. Render Time after Shifting JS Magento Pitfall – Inline Script Execution
  • 27. Image Issues Images are not optimized well Fix with jpegmini.com, smush.it, Photoshop, etc.
  • 28. Image Optimization There are just too many image requests
  • 29. CSS Sprites Bundle images into single (or small number of images) Then use CSS rules to show just the portion of the sprite file at a particular point in the page
  • 30. Sprite Result Sub 2s render! We went a little overboard though
  • 31. Repeat View Set cache control headers (Expires, Max-Age, etc.) so browser and proxies aren ’ t guessing about caching For Apache use mod_headers and mod_expires Set static object expiration far in future and change object name if updated Don ’ t cache “ base ” resource long term Note lots of user cache flushing
  • 33. Big Problem - Distance Point source hosting you can ’ t be close to everyone and distance matters http://assets.en.oreilly.com/1/event/44/TCP%20and%20the%20Lower%20Bound%20of%20Web%20Performance%20Presentation.pdf
  • 34. Kiwis don’t enjoy our store
  • 35. Bandwidth doesn ’ t matter (much) http://www.belshe.com/2010/05/24/more-bandwidth-doesnt-matter-much/
  • 36. Round Trips Matter Lower round-trip time = Better page load time
  • 37. Content Distribution Networks CDNs reduce latency by moving large static assets closer to end users Amazon Cloudfront, MaxCDN, etc. Considerations Cost Sharded domain name – images.yoursite.com Might want this for SSL traffic as well! JS on CDN can have some origin issues
  • 40. Always More 3 rd party components are killing performance – think before you slap that script in JS optimization (lazy load, microlibs, etc.) Prefetching and pre-rendering tricks Really should track end user performance with deliver & render analytics Of course no matter how fancy you get this does only address single request which improves scale but doesn't ’ t solve it!
  • 41. How to do all or most of this? Hand optimize as we did-server, Magento config & template changes Software add-on(s) like Nitrogento An appliance like StangeLoop Site Optimizer ( www.strangeloopnetworks.com ) or smart load balancer A proxy service like www.cloudfare.com
  • 44. Wrap Up Thanks for listening! Now on to your questions either now or later Thomas Powell ( [email_address] ) & Joe Lima ( [email_address] ) +1 858.270.2086 www.pint.com [email_address] @PINTSD

Editor's Notes

  1. We were thinking arthritis here, stupid word but maybe you’ll remember this point
  2. http://www.webperformancetoday.com/2011/04/20/desktop-vs-mobile-web-page-load-speed/
  3. Beware the over spriting problem…it is possible to block yourself with CSS here and avoid incremental loading you get with individual images which might be trouble for long latency requests or mobile devices
  4. It couldn’t quite externalize the CSS images automatically, still the performance is a great improvement. This is the common trade off of automated versus by hand approaches…if every 100ms matters you might find it worth it pay to customize