SlideShare a Scribd company logo
Performance Automation
          faster ways to make your website faster
                     mick.mcguinness@applicationperformance.com
                                     @AppPerf


Confidential © www.applicationperformance.com            Performance is our business!
Topics
        Quick recap from last time
              Frontend optimization
        The optimization techniques
              Who is using them? If not why not?
        How to apply the techniques faster
              Manual coding
              .htaccess file
              PHP Libraries
              CMS plugins
              Web Server software/modules
              Hardware appliances
              SaaS Solutions and Advanced CDNs
Confidential © www.applicationperformance.com       Performance is our business!
What do we mean by Frontend Time?




                                                Definition
                                                Steve Souders “High-Performance Websites”




Confidential © www.applicationperformance.com                   Performance is our business!
Why front-end Optimization?




     Over 80% of the page load time is spent
      outside the data centre!!!
                                       Steve Souders “High-Performance Websites”

Confidential © www.applicationperformance.com                    Performance is our business!
The Tools


                                                Yahoo YSlow



                                                Google PageSpeed



    Take your pick, the rules are roughly equivalent.

Confidential © www.applicationperformance.com           Performance is our business!
5 Important Ones
        1. Reduce Page Size (<500Kb)
        2. Enable (Gzip) Compression
        3. Reduce the number of roundtrips (<40 per
           page…)
        4. Structure the page (to improve render &
           download)
              CSS First
              Javascript last
        5. Cache, Cache, Cache


Confidential © www.applicationperformance.com   Performance is our business!
Are sites applying the rules?
     Percent of sites that got a passing grade for the
     basic optimization checks:
                                                Percent of pages with a passing grade
     Optimization
                                                               (2010)
     Keep-alive Enabled                                         85%
     Compress Text                                              43%
     Compress Images                                            39%
     Cache Static Content                                       15%
     Combine JS/CSS                                             47%
     CDN Usage                                                  12%

     These aren't the advanced optimizations - they're the most basic. Only
     15% of pages are effectively leveraging the browser cache! (and "passing"
     is pretty generous here - a score of 80 or better).
                              http://blog.patrickmeenan.com/
Confidential © www.applicationperformance.com                     Performance is our business!
Analysis of FTSE 350




           Frontend vs Backend Time




Confidential © www.applicationperformance.com   Performance is our business!
Top 5 and Bottom 5 for FTSE 350

   Top 5                                                             Repeat                                           FV Global RV Global
                                               Repeat First View      View -                                           Average Average
                                  First View View Size    - HTTP       HTTP                                                Load      Load
  URL                              Size (KB)     (KB) Requests     Requests      YSlow Server Details                     Time      Time
  http://www.ccruk.com/                  112       47         15         13          63 Microsoft-IIS/5.0                 1.916     7.565
  http://www.tesco.com/                  106       13         11          1          71 Microsoft-IIS/6.0 ASP.NET         2.047     0.663
  http://www.whsmithplc.co.uk/            49         3         7          6          82 Microsoft-IIS/6.0 ASP.NET         2.076     1.474
  http://www.antofagasta.co.uk/           73       15          9          8          94 Apache                            2.148     1.483
  http://www.giml.co.uk/                  90         5        10          9          68 Microsoft-IIS/6.0 ASP.NET         2.525     1.779



   Bottom 5                                                           Repeat
                                                   Repeat First View   View -                                           FV Global RV Global
                                      First View View Size    - HTTP    HTTP                                             Average Average
  URL                                   Size (KB)     (KB) Requests Requests        YSlow Server Details               Load Time Load Time
  http://www.renishaw.com/                1812        55       108         107         65 WS6                             53.228    14.912
  http://www.eddiestobart.co.uk/          4125        18        66          62         47 Apache/2.0.52 (CentOS)          47.342    19.218
  http://www.rpsgroup.com/                 585       107        25          21         51 Microsoft-IIS/6.0 ASP.NET       36.791    29.976
  http://www.vedantaresources.com/        1010        17        35          33         44 Microsoft-IIS/6.0 ASP.NET       36.361     7.926
  http://www.carillionplc.com/             387        37        50          48         54 Microsoft-IIS/5.0 ASP.NET       32.949     6.652


         Full list http://www.aptimize.com/Upload/docs/FTSE.pdf
Confidential © www.applicationperformance.com                                                    Performance is our business!
tesco.com
        Second fastest home page in FTSE 350
        Rich looking site but only 11 requests and 108K




Confidential © www.applicationperformance.com   Performance is our business!
Why isn’t everyone using the rules?

        Possible Reasons
        They don’t know about them
              They may still be focussing inside the data center
        They can be difficult to apply
              Let’s take a look at some ways to make it easier




Confidential © www.applicationperformance.com        Performance is our business!
Manual Coding
        Pros
              Anyone think of any???
        Cons
              Time consuming.
              Developers would rather write new functionality.
              Not a one off. Needs to be repeated each time the site
               is updated.
              Some of the techniques are very difficult to implement
               manually.
              Difficult to do within most CMS environments
              Need to keep up to date with new techniques and
               new browsers as they become available.

Confidential © www.applicationperformance.com       Performance is our business!
Manual Coding

        Examples
        Image optimization
              http://www.phpied.com/command-line-css-spriting/
              http://www.smushit.com/ysmush.it/
              http://csssprites.org/
        JS and CSS minification
              http://developer.yahoo.com/yui/compressor/
              http://www.crockford.com/javascript/jsmin.html




Confidential © www.applicationperformance.com     Performance is our business!
.htaccess
        Pros
              It’s FREE! (from Sergey Chernyshev)
              It is easy to implement
        Cons
              Apache or NginX only
              It won’t do all the optimizations. What it does is:
                   Compression for text mime-types (mod_deflate)
                   File versioning for static resources (mod_rewrite)
                   Far-future cache expiry headers (mod_expires)
        Examples
              http://www.showslow.com/blog/drop-in-htaccess-is-
               now-on-github-go-fork-it/

Confidential © www.applicationperformance.com                 Performance is our business!
PHP Libraries
        Pros
              Free in some cases
              Same optimizations as .htaccess technique but in some cases can
               also do additional techniques like:
                 JS/CSS file combination and minification
        Cons
              PHP and Apache Only
              It won’t do all the optimizations.
        Examples
              http://farhadi.ir/works/smartoptimizer (GPL Open Source)
              http://www.webogroup.com/home/site-speedup/ (Free &
               Commercial versions)
              http://projects.westhost.com/contest/php/function/minify-css-js-
               and-cache-output/187 (Free)

Confidential © www.applicationperformance.com              Performance is our business!
CMS Plugins
        Pros
              FREE in many cases
        Cons
              Specific to the CMS
              They won’t do all the optimizations
        Examples
              http://extensions.joomla.org/extensions/site-management/site-
               performance
              http://www.liferay.com/ (Built in CSS and JS combination and
               minification)
              http://wimleers.com/article/improving-drupals-page-loading-
               performance (Built in CSS and JS combination and minification)


Confidential © www.applicationperformance.com              Performance is our business!
Acceleration Software/Modules
        Pros
              Quick to install.
              Automatically apply the most optimizations without
               code changes or hardware.
              Vendors continually develop to add support for new
               optimizations and browsers as they come along.
        Cons
              Beware of conflicts with other modules.
        Examples
              Aptimize www.aptimize.com (Commercial, any server)
              Google mod_pagespeed (Open Source, Apache only)


Confidential © www.applicationperformance.com      Performance is our business!
Aptimize example microsoft.com




      Load Time = 4.0 seconds                              Load Time = 9.1 seconds
      Fully Loaded = 6.8 seconds                           Fully Loaded = 13.2 seconds
      Page size = 501 KB                                   Page size = 1251 KB
      Requests = 21                                        Requests = 84
       http://www.webpagetest.org/result/110125_CX_1J71/   http://www.webpagetest.org/result/110125_VS_1J72/

Confidential © www.applicationperformance.com                                        Performance is our business!
Hardware Appliances
        Traditional Load balancers have evolved to do additional
        tasks (Application Delivery Controllers)
        Pros
              Offload tasks from the web server such as:
                    Gzip compression
                    SSL termination
                    Caching
              Some are starting to do more frontend optimization
               techniques too.
        Cons
              They won’t do all the optimizations
              You need to install extra hardware

Confidential © www.applicationperformance.com        Performance is our business!
Hardware Appliances
        Examples
          F5 Networks
          Citrix Netscaler
          Zeus
          StrangeLoops
          ActivNetworks
        We are seeing some
         convergence between
         network layer
         acceleration and
         application layer
         acceleration devices.

Confidential © www.applicationperformance.com   Performance is our business!
SaaS Solutions
        Pros
              No on site hardware or software needed
        Cons
              DNS points to the provider so your site availability
               outside your control
        Examples
              http://www.strangeloopnetworks.com/products/site-
               optimizer-service/




Confidential © www.applicationperformance.com         Performance is our business!
Next generation CDNs
        Global edge caches with the addition of ‘middle
        mile acceleration’ which optimizes how data travels
        Pros
              No on site hardware or software needed
              TCP/IP optimization for middle mile
              Reduces round-trips
        Cons
              It won’t do all the optimizations.




Confidential © www.applicationperformance.com       Performance is our business!
Next generation CDNs
        Examples
              http://www.cotendo.com/services/DSA/
              http://www.us.cdnetworks.com/dynamic_web_acceleration




Confidential © www.applicationperformance.com          Performance is our business!
Summary
        Many sites are not following the rules for
         frontend optimization.
        Doing it manually is time consuming
        There are several better options to help you do
         things quicker and easier.
        Evaluate multiple options and benchmark




Confidential © www.applicationperformance.com   Performance is our business!
Questions?




Confidential © www.applicationperformance.com   Performance is our business!
About Me
      15yrs IT experience
           Started in 1996 as a C/C++ and Oracle developer
           Performance Consultant at Precise Software 1998-2003
           Founded Application Performance Ltd in 2004-present
      e:mick.mcguinness@applicationperformance.com
      m:+44 7876 680410
      Twitter: http://twitter.com/AppPerf
      LinkedIn: http://www.linkedin.com/in/mickmcguinness
      Skype: mick_mcguinness



Confidential © www.applicationperformance.com    Performance is our business!

More Related Content

What's hot

Drupal CDN integration: easier, more flexible and faster!
Drupal CDN integration: easier, more flexible and faster!Drupal CDN integration: easier, more flexible and faster!
Drupal CDN integration: easier, more flexible and faster!
Wim Leers
 
2019 StartIT - Boosting your performance with Blackfire
2019 StartIT - Boosting your performance with Blackfire2019 StartIT - Boosting your performance with Blackfire
2019 StartIT - Boosting your performance with Blackfire
Marko Mitranić
 
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
 
Imagesandvideo stockholm webmeetup
Imagesandvideo stockholm webmeetupImagesandvideo stockholm webmeetup
Imagesandvideo stockholm webmeetup
Doug Sillars
 
Page Performance
Page PerformancePage Performance
Page Performance
atorreno
 
High Performance Mobile Web
High Performance Mobile WebHigh Performance Mobile Web
High Performance Mobile Web
James D Bloom
 
Front End Performance
Front End PerformanceFront End Performance
Front End Performance
Konstantin Käfer
 
腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站
areyouok
 
Joomla! Performance on Steroids
Joomla! Performance on SteroidsJoomla! Performance on Steroids
Joomla! Performance on Steroids
SiteGround.com
 
Front end performance tip
Front end performance tipFront end performance tip
Front end performance tip
Steve Yu
 
Making the web faster
Making the web fasterMaking the web faster
Making the web faster
Patrick Meenan
 
Front end performance optimization
Front end performance optimizationFront end performance optimization
Front end performance optimization
Stevie T
 
Imagesandvideo tallinn
Imagesandvideo tallinnImagesandvideo tallinn
Imagesandvideo tallinn
Doug Sillars
 
Magento Performance Optimization 101
Magento Performance Optimization 101Magento Performance Optimization 101
Magento Performance Optimization 101
Angus Li
 
Zend Server: A Guided Tour
Zend Server: A Guided TourZend Server: A Guided Tour
Zend Server: A Guided Tour
Shahar Evron
 
Tiery Eyed
Tiery EyedTiery Eyed
Tiery Eyed
ZendCon
 
Performance as UX with Justin Howlett
Performance as UX with Justin HowlettPerformance as UX with Justin Howlett
Performance as UX with Justin Howlett
FITC
 
MeasureWorks - Why people hate to wait for your website to load (and how to f...
MeasureWorks - Why people hate to wait for your website to load (and how to f...MeasureWorks - Why people hate to wait for your website to load (and how to f...
MeasureWorks - Why people hate to wait for your website to load (and how to f...
MeasureWorks
 
AD1387: Outside The Box: Integrating with Non-Domino Apps using XPages and Ja...
AD1387: Outside The Box: Integrating with Non-Domino Apps using XPages and Ja...AD1387: Outside The Box: Integrating with Non-Domino Apps using XPages and Ja...
AD1387: Outside The Box: Integrating with Non-Domino Apps using XPages and Ja...
panagenda
 
Extending JMS to Web Devices over HTML5 WebSockets - JavaOne 2011
Extending JMS to Web Devices over HTML5 WebSockets - JavaOne 2011Extending JMS to Web Devices over HTML5 WebSockets - JavaOne 2011
Extending JMS to Web Devices over HTML5 WebSockets - JavaOne 2011
Peter Moskovits
 

What's hot (20)

Drupal CDN integration: easier, more flexible and faster!
Drupal CDN integration: easier, more flexible and faster!Drupal CDN integration: easier, more flexible and faster!
Drupal CDN integration: easier, more flexible and faster!
 
2019 StartIT - Boosting your performance with Blackfire
2019 StartIT - Boosting your performance with Blackfire2019 StartIT - Boosting your performance with Blackfire
2019 StartIT - Boosting your performance with Blackfire
 
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.
 
Imagesandvideo stockholm webmeetup
Imagesandvideo stockholm webmeetupImagesandvideo stockholm webmeetup
Imagesandvideo stockholm webmeetup
 
Page Performance
Page PerformancePage Performance
Page Performance
 
High Performance Mobile Web
High Performance Mobile WebHigh Performance Mobile Web
High Performance Mobile Web
 
Front End Performance
Front End PerformanceFront End Performance
Front End Performance
 
腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站
 
Joomla! Performance on Steroids
Joomla! Performance on SteroidsJoomla! Performance on Steroids
Joomla! Performance on Steroids
 
Front end performance tip
Front end performance tipFront end performance tip
Front end performance tip
 
Making the web faster
Making the web fasterMaking the web faster
Making the web faster
 
Front end performance optimization
Front end performance optimizationFront end performance optimization
Front end performance optimization
 
Imagesandvideo tallinn
Imagesandvideo tallinnImagesandvideo tallinn
Imagesandvideo tallinn
 
Magento Performance Optimization 101
Magento Performance Optimization 101Magento Performance Optimization 101
Magento Performance Optimization 101
 
Zend Server: A Guided Tour
Zend Server: A Guided TourZend Server: A Guided Tour
Zend Server: A Guided Tour
 
Tiery Eyed
Tiery EyedTiery Eyed
Tiery Eyed
 
Performance as UX with Justin Howlett
Performance as UX with Justin HowlettPerformance as UX with Justin Howlett
Performance as UX with Justin Howlett
 
MeasureWorks - Why people hate to wait for your website to load (and how to f...
MeasureWorks - Why people hate to wait for your website to load (and how to f...MeasureWorks - Why people hate to wait for your website to load (and how to f...
MeasureWorks - Why people hate to wait for your website to load (and how to f...
 
AD1387: Outside The Box: Integrating with Non-Domino Apps using XPages and Ja...
AD1387: Outside The Box: Integrating with Non-Domino Apps using XPages and Ja...AD1387: Outside The Box: Integrating with Non-Domino Apps using XPages and Ja...
AD1387: Outside The Box: Integrating with Non-Domino Apps using XPages and Ja...
 
Extending JMS to Web Devices over HTML5 WebSockets - JavaOne 2011
Extending JMS to Web Devices over HTML5 WebSockets - JavaOne 2011Extending JMS to Web Devices over HTML5 WebSockets - JavaOne 2011
Extending JMS to Web Devices over HTML5 WebSockets - JavaOne 2011
 

Similar to Performance automation 101 @LDNWebPerf MickMcGuinness

Web Performance 101 - Gil Givati
Web Performance 101 - Gil GivatiWeb Performance 101 - Gil Givati
Web Performance 101 - Gil Givati
Mika Josting
 
Speeding up your WordPress Site - WordCamp Toronto 2015
Speeding up your WordPress Site - WordCamp Toronto 2015Speeding up your WordPress Site - WordCamp Toronto 2015
Speeding up your WordPress Site - WordCamp Toronto 2015
Alan Lok
 
CTU June 2011 - Things that Every ASP.NET Developer Should Know
CTU June 2011 - Things that Every ASP.NET Developer Should KnowCTU June 2011 - Things that Every ASP.NET Developer Should Know
CTU June 2011 - Things that Every ASP.NET Developer Should Know
Spiffy
 
SharePoint Performance Optimization In 10 Steps for the IT Professional
SharePoint Performance Optimization In 10 Steps for the IT ProfessionalSharePoint Performance Optimization In 10 Steps for the IT Professional
SharePoint Performance Optimization In 10 Steps for the IT Professional
Joel Oleson
 
Web Performance, Scalability, and Testing Techniques - Boston PHP Meetup
Web Performance, Scalability, and Testing Techniques - Boston PHP MeetupWeb Performance, Scalability, and Testing Techniques - Boston PHP Meetup
Web Performance, Scalability, and Testing Techniques - Boston PHP Meetup
Jonathan Klein
 
Profiling PHP with Xdebug / Webgrind
Profiling PHP with Xdebug / WebgrindProfiling PHP with Xdebug / Webgrind
Profiling PHP with Xdebug / Webgrind
Sam Keen
 
Magento's Imagine eCommerce Conference: Do You Queue?
Magento's Imagine eCommerce Conference: Do You Queue?Magento's Imagine eCommerce Conference: Do You Queue?
Magento's Imagine eCommerce Conference: Do You Queue?
varien
 
Shopzilla - Performance By Design
Shopzilla - Performance By DesignShopzilla - Performance By Design
Shopzilla - Performance By Design
Tim Morrow
 
Performance Measurement and Monitoring for Salesforce Web & Mobile Apps
Performance Measurement and Monitoring for Salesforce Web & Mobile AppsPerformance Measurement and Monitoring for Salesforce Web & Mobile Apps
Performance Measurement and Monitoring for Salesforce Web & Mobile Apps
Salesforce Developers
 
Magento performancenbs
Magento performancenbsMagento performancenbs
Magento performancenbs
varien
 
Web performance optimization
Web performance optimizationWeb performance optimization
Web performance optimization
Kaliop-slide
 
ASPNET Roadmap
ASPNET RoadmapASPNET Roadmap
ASPNET Roadmap
ukdpe
 
Speeding up your WordPress site - WordCamp Hamilton 2015
Speeding up your WordPress site - WordCamp Hamilton 2015Speeding up your WordPress site - WordCamp Hamilton 2015
Speeding up your WordPress site - WordCamp Hamilton 2015
Alan Lok
 
SharePoint 2010 Boost your farm performance!
SharePoint 2010 Boost your farm performance!SharePoint 2010 Boost your farm performance!
SharePoint 2010 Boost your farm performance!
Brian Culver
 
Web Front End Performance
Web Front End PerformanceWeb Front End Performance
Web Front End Performance
Chris Love
 
Caching 101
Caching 101Caching 101
Caching 101
Andy Melichar
 
Speed up Your Joomla Site for Ultimate Performance
Speed up Your Joomla Site for Ultimate PerformanceSpeed up Your Joomla Site for Ultimate Performance
Speed up Your Joomla Site for Ultimate Performance
JoomlaDay Australia
 
Csdn Drdobbs Tenni Theurer Yahoo
Csdn Drdobbs Tenni Theurer YahooCsdn Drdobbs Tenni Theurer Yahoo
Csdn Drdobbs Tenni Theurer Yahoo
guestb1b95b
 
Vue3: nuove funzionalità, differenze e come migrare
Vue3: nuove funzionalità, differenze e come migrareVue3: nuove funzionalità, differenze e come migrare
Vue3: nuove funzionalità, differenze e come migrare
Andrea Campaci
 
Pagespeed what, why, and how it works
Pagespeed   what, why, and how it worksPagespeed   what, why, and how it works
Pagespeed what, why, and how it works
Ilya Grigorik
 

Similar to Performance automation 101 @LDNWebPerf MickMcGuinness (20)

Web Performance 101 - Gil Givati
Web Performance 101 - Gil GivatiWeb Performance 101 - Gil Givati
Web Performance 101 - Gil Givati
 
Speeding up your WordPress Site - WordCamp Toronto 2015
Speeding up your WordPress Site - WordCamp Toronto 2015Speeding up your WordPress Site - WordCamp Toronto 2015
Speeding up your WordPress Site - WordCamp Toronto 2015
 
CTU June 2011 - Things that Every ASP.NET Developer Should Know
CTU June 2011 - Things that Every ASP.NET Developer Should KnowCTU June 2011 - Things that Every ASP.NET Developer Should Know
CTU June 2011 - Things that Every ASP.NET Developer Should Know
 
SharePoint Performance Optimization In 10 Steps for the IT Professional
SharePoint Performance Optimization In 10 Steps for the IT ProfessionalSharePoint Performance Optimization In 10 Steps for the IT Professional
SharePoint Performance Optimization In 10 Steps for the IT Professional
 
Web Performance, Scalability, and Testing Techniques - Boston PHP Meetup
Web Performance, Scalability, and Testing Techniques - Boston PHP MeetupWeb Performance, Scalability, and Testing Techniques - Boston PHP Meetup
Web Performance, Scalability, and Testing Techniques - Boston PHP Meetup
 
Profiling PHP with Xdebug / Webgrind
Profiling PHP with Xdebug / WebgrindProfiling PHP with Xdebug / Webgrind
Profiling PHP with Xdebug / Webgrind
 
Magento's Imagine eCommerce Conference: Do You Queue?
Magento's Imagine eCommerce Conference: Do You Queue?Magento's Imagine eCommerce Conference: Do You Queue?
Magento's Imagine eCommerce Conference: Do You Queue?
 
Shopzilla - Performance By Design
Shopzilla - Performance By DesignShopzilla - Performance By Design
Shopzilla - Performance By Design
 
Performance Measurement and Monitoring for Salesforce Web & Mobile Apps
Performance Measurement and Monitoring for Salesforce Web & Mobile AppsPerformance Measurement and Monitoring for Salesforce Web & Mobile Apps
Performance Measurement and Monitoring for Salesforce Web & Mobile Apps
 
Magento performancenbs
Magento performancenbsMagento performancenbs
Magento performancenbs
 
Web performance optimization
Web performance optimizationWeb performance optimization
Web performance optimization
 
ASPNET Roadmap
ASPNET RoadmapASPNET Roadmap
ASPNET Roadmap
 
Speeding up your WordPress site - WordCamp Hamilton 2015
Speeding up your WordPress site - WordCamp Hamilton 2015Speeding up your WordPress site - WordCamp Hamilton 2015
Speeding up your WordPress site - WordCamp Hamilton 2015
 
SharePoint 2010 Boost your farm performance!
SharePoint 2010 Boost your farm performance!SharePoint 2010 Boost your farm performance!
SharePoint 2010 Boost your farm performance!
 
Web Front End Performance
Web Front End PerformanceWeb Front End Performance
Web Front End Performance
 
Caching 101
Caching 101Caching 101
Caching 101
 
Speed up Your Joomla Site for Ultimate Performance
Speed up Your Joomla Site for Ultimate PerformanceSpeed up Your Joomla Site for Ultimate Performance
Speed up Your Joomla Site for Ultimate Performance
 
Csdn Drdobbs Tenni Theurer Yahoo
Csdn Drdobbs Tenni Theurer YahooCsdn Drdobbs Tenni Theurer Yahoo
Csdn Drdobbs Tenni Theurer Yahoo
 
Vue3: nuove funzionalità, differenze e come migrare
Vue3: nuove funzionalità, differenze e come migrareVue3: nuove funzionalità, differenze e come migrare
Vue3: nuove funzionalità, differenze e come migrare
 
Pagespeed what, why, and how it works
Pagespeed   what, why, and how it worksPagespeed   what, why, and how it works
Pagespeed what, why, and how it works
 

More from Stephen Thair

London web performance WPO Lessons from the field June 2013
London web performance   WPO Lessons from the field June 2013London web performance   WPO Lessons from the field June 2013
London web performance WPO Lessons from the field June 2013
Stephen Thair
 
Is the current model of load testing broken ukcmg - steve thair
Is the current model of load testing broken   ukcmg - steve thairIs the current model of load testing broken   ukcmg - steve thair
Is the current model of load testing broken ukcmg - steve thair
Stephen Thair
 
Continuous Integration - A Performance Engineer's Tale
Continuous Integration - A Performance Engineer's TaleContinuous Integration - A Performance Engineer's Tale
Continuous Integration - A Performance Engineer's Tale
Stephen Thair
 
Web Performance Optimisation at times.co.uk
Web Performance Optimisation at times.co.ukWeb Performance Optimisation at times.co.uk
Web Performance Optimisation at times.co.uk
Stephen Thair
 
Measuring web performance. Velocity EU 2011
Measuring web performance. Velocity EU 2011Measuring web performance. Velocity EU 2011
Measuring web performance. Velocity EU 2011
Stephen Thair
 
Practical web performance - Site Confidence Web Performance Seminar
Practical web performance - Site Confidence Web Performance SeminarPractical web performance - Site Confidence Web Performance Seminar
Practical web performance - Site Confidence Web Performance Seminar
Stephen Thair
 
Measuring mobile performance (@LDNWebPerf Version)
Measuring mobile performance (@LDNWebPerf Version)Measuring mobile performance (@LDNWebPerf Version)
Measuring mobile performance (@LDNWebPerf Version)
Stephen Thair
 
Velocity 2011 Feedback - architecture, statistics and SPDY
Velocity 2011 Feedback - architecture, statistics and SPDYVelocity 2011 Feedback - architecture, statistics and SPDY
Velocity 2011 Feedback - architecture, statistics and SPDY
Stephen Thair
 
7 lessons from velocity 2011 (Meetup feedback session for London Web Performa...
7 lessons from velocity 2011 (Meetup feedback session for London Web Performa...7 lessons from velocity 2011 (Meetup feedback session for London Web Performa...
7 lessons from velocity 2011 (Meetup feedback session for London Web Performa...
Stephen Thair
 
Measuring Mobile Web Performance v2
Measuring Mobile Web Performance v2Measuring Mobile Web Performance v2
Measuring Mobile Web Performance v2
Stephen Thair
 
Web performance and measurement - UKCMG Conference 2011 - steve thair
Web performance and measurement - UKCMG Conference 2011 - steve thairWeb performance and measurement - UKCMG Conference 2011 - steve thair
Web performance and measurement - UKCMG Conference 2011 - steve thair
Stephen Thair
 
Performance testing automation with Dynatrace @LDNWebPerf - AndreasGrabner
Performance testing automation with Dynatrace  @LDNWebPerf - AndreasGrabnerPerformance testing automation with Dynatrace  @LDNWebPerf - AndreasGrabner
Performance testing automation with Dynatrace @LDNWebPerf - AndreasGrabner
Stephen Thair
 
Web performance 101
Web performance 101Web performance 101
Web performance 101
Stephen Thair
 
Configuration Management - The Operations Managers View
Configuration Management - The Operations Managers ViewConfiguration Management - The Operations Managers View
Configuration Management - The Operations Managers View
Stephen Thair
 
Test Expo 2009 Site Confidence &amp; Seriti Consulting Load Test Case Study
Test Expo 2009   Site Confidence &amp; Seriti Consulting   Load Test Case StudyTest Expo 2009   Site Confidence &amp; Seriti Consulting   Load Test Case Study
Test Expo 2009 Site Confidence &amp; Seriti Consulting Load Test Case Study
Stephen Thair
 

More from Stephen Thair (15)

London web performance WPO Lessons from the field June 2013
London web performance   WPO Lessons from the field June 2013London web performance   WPO Lessons from the field June 2013
London web performance WPO Lessons from the field June 2013
 
Is the current model of load testing broken ukcmg - steve thair
Is the current model of load testing broken   ukcmg - steve thairIs the current model of load testing broken   ukcmg - steve thair
Is the current model of load testing broken ukcmg - steve thair
 
Continuous Integration - A Performance Engineer's Tale
Continuous Integration - A Performance Engineer's TaleContinuous Integration - A Performance Engineer's Tale
Continuous Integration - A Performance Engineer's Tale
 
Web Performance Optimisation at times.co.uk
Web Performance Optimisation at times.co.ukWeb Performance Optimisation at times.co.uk
Web Performance Optimisation at times.co.uk
 
Measuring web performance. Velocity EU 2011
Measuring web performance. Velocity EU 2011Measuring web performance. Velocity EU 2011
Measuring web performance. Velocity EU 2011
 
Practical web performance - Site Confidence Web Performance Seminar
Practical web performance - Site Confidence Web Performance SeminarPractical web performance - Site Confidence Web Performance Seminar
Practical web performance - Site Confidence Web Performance Seminar
 
Measuring mobile performance (@LDNWebPerf Version)
Measuring mobile performance (@LDNWebPerf Version)Measuring mobile performance (@LDNWebPerf Version)
Measuring mobile performance (@LDNWebPerf Version)
 
Velocity 2011 Feedback - architecture, statistics and SPDY
Velocity 2011 Feedback - architecture, statistics and SPDYVelocity 2011 Feedback - architecture, statistics and SPDY
Velocity 2011 Feedback - architecture, statistics and SPDY
 
7 lessons from velocity 2011 (Meetup feedback session for London Web Performa...
7 lessons from velocity 2011 (Meetup feedback session for London Web Performa...7 lessons from velocity 2011 (Meetup feedback session for London Web Performa...
7 lessons from velocity 2011 (Meetup feedback session for London Web Performa...
 
Measuring Mobile Web Performance v2
Measuring Mobile Web Performance v2Measuring Mobile Web Performance v2
Measuring Mobile Web Performance v2
 
Web performance and measurement - UKCMG Conference 2011 - steve thair
Web performance and measurement - UKCMG Conference 2011 - steve thairWeb performance and measurement - UKCMG Conference 2011 - steve thair
Web performance and measurement - UKCMG Conference 2011 - steve thair
 
Performance testing automation with Dynatrace @LDNWebPerf - AndreasGrabner
Performance testing automation with Dynatrace  @LDNWebPerf - AndreasGrabnerPerformance testing automation with Dynatrace  @LDNWebPerf - AndreasGrabner
Performance testing automation with Dynatrace @LDNWebPerf - AndreasGrabner
 
Web performance 101
Web performance 101Web performance 101
Web performance 101
 
Configuration Management - The Operations Managers View
Configuration Management - The Operations Managers ViewConfiguration Management - The Operations Managers View
Configuration Management - The Operations Managers View
 
Test Expo 2009 Site Confidence &amp; Seriti Consulting Load Test Case Study
Test Expo 2009   Site Confidence &amp; Seriti Consulting   Load Test Case StudyTest Expo 2009   Site Confidence &amp; Seriti Consulting   Load Test Case Study
Test Expo 2009 Site Confidence &amp; Seriti Consulting Load Test Case Study
 

Performance automation 101 @LDNWebPerf MickMcGuinness

  • 1. Performance Automation faster ways to make your website faster mick.mcguinness@applicationperformance.com @AppPerf Confidential © www.applicationperformance.com Performance is our business!
  • 2. Topics Quick recap from last time Frontend optimization The optimization techniques Who is using them? If not why not? How to apply the techniques faster Manual coding .htaccess file PHP Libraries CMS plugins Web Server software/modules Hardware appliances SaaS Solutions and Advanced CDNs Confidential © www.applicationperformance.com Performance is our business!
  • 3. What do we mean by Frontend Time? Definition Steve Souders “High-Performance Websites” Confidential © www.applicationperformance.com Performance is our business!
  • 4. Why front-end Optimization? Over 80% of the page load time is spent outside the data centre!!! Steve Souders “High-Performance Websites” Confidential © www.applicationperformance.com Performance is our business!
  • 5. The Tools Yahoo YSlow Google PageSpeed Take your pick, the rules are roughly equivalent. Confidential © www.applicationperformance.com Performance is our business!
  • 6. 5 Important Ones 1. Reduce Page Size (<500Kb) 2. Enable (Gzip) Compression 3. Reduce the number of roundtrips (<40 per page…) 4. Structure the page (to improve render & download) CSS First Javascript last 5. Cache, Cache, Cache Confidential © www.applicationperformance.com Performance is our business!
  • 7. Are sites applying the rules? Percent of sites that got a passing grade for the basic optimization checks: Percent of pages with a passing grade Optimization (2010) Keep-alive Enabled 85% Compress Text 43% Compress Images 39% Cache Static Content 15% Combine JS/CSS 47% CDN Usage 12% These aren't the advanced optimizations - they're the most basic. Only 15% of pages are effectively leveraging the browser cache! (and "passing" is pretty generous here - a score of 80 or better). http://blog.patrickmeenan.com/ Confidential © www.applicationperformance.com Performance is our business!
  • 8. Analysis of FTSE 350 Frontend vs Backend Time Confidential © www.applicationperformance.com Performance is our business!
  • 9. Top 5 and Bottom 5 for FTSE 350 Top 5 Repeat FV Global RV Global Repeat First View View - Average Average First View View Size - HTTP HTTP Load Load URL Size (KB) (KB) Requests Requests YSlow Server Details Time Time http://www.ccruk.com/ 112 47 15 13 63 Microsoft-IIS/5.0 1.916 7.565 http://www.tesco.com/ 106 13 11 1 71 Microsoft-IIS/6.0 ASP.NET 2.047 0.663 http://www.whsmithplc.co.uk/ 49 3 7 6 82 Microsoft-IIS/6.0 ASP.NET 2.076 1.474 http://www.antofagasta.co.uk/ 73 15 9 8 94 Apache 2.148 1.483 http://www.giml.co.uk/ 90 5 10 9 68 Microsoft-IIS/6.0 ASP.NET 2.525 1.779 Bottom 5 Repeat Repeat First View View - FV Global RV Global First View View Size - HTTP HTTP Average Average URL Size (KB) (KB) Requests Requests YSlow Server Details Load Time Load Time http://www.renishaw.com/ 1812 55 108 107 65 WS6 53.228 14.912 http://www.eddiestobart.co.uk/ 4125 18 66 62 47 Apache/2.0.52 (CentOS) 47.342 19.218 http://www.rpsgroup.com/ 585 107 25 21 51 Microsoft-IIS/6.0 ASP.NET 36.791 29.976 http://www.vedantaresources.com/ 1010 17 35 33 44 Microsoft-IIS/6.0 ASP.NET 36.361 7.926 http://www.carillionplc.com/ 387 37 50 48 54 Microsoft-IIS/5.0 ASP.NET 32.949 6.652 Full list http://www.aptimize.com/Upload/docs/FTSE.pdf Confidential © www.applicationperformance.com Performance is our business!
  • 10. tesco.com Second fastest home page in FTSE 350 Rich looking site but only 11 requests and 108K Confidential © www.applicationperformance.com Performance is our business!
  • 11. Why isn’t everyone using the rules? Possible Reasons They don’t know about them They may still be focussing inside the data center They can be difficult to apply Let’s take a look at some ways to make it easier Confidential © www.applicationperformance.com Performance is our business!
  • 12. Manual Coding Pros Anyone think of any??? Cons Time consuming. Developers would rather write new functionality. Not a one off. Needs to be repeated each time the site is updated. Some of the techniques are very difficult to implement manually. Difficult to do within most CMS environments Need to keep up to date with new techniques and new browsers as they become available. Confidential © www.applicationperformance.com Performance is our business!
  • 13. Manual Coding Examples Image optimization http://www.phpied.com/command-line-css-spriting/ http://www.smushit.com/ysmush.it/ http://csssprites.org/ JS and CSS minification http://developer.yahoo.com/yui/compressor/ http://www.crockford.com/javascript/jsmin.html Confidential © www.applicationperformance.com Performance is our business!
  • 14. .htaccess Pros It’s FREE! (from Sergey Chernyshev) It is easy to implement Cons Apache or NginX only It won’t do all the optimizations. What it does is: Compression for text mime-types (mod_deflate) File versioning for static resources (mod_rewrite) Far-future cache expiry headers (mod_expires) Examples http://www.showslow.com/blog/drop-in-htaccess-is- now-on-github-go-fork-it/ Confidential © www.applicationperformance.com Performance is our business!
  • 15. PHP Libraries Pros Free in some cases Same optimizations as .htaccess technique but in some cases can also do additional techniques like: JS/CSS file combination and minification Cons PHP and Apache Only It won’t do all the optimizations. Examples http://farhadi.ir/works/smartoptimizer (GPL Open Source) http://www.webogroup.com/home/site-speedup/ (Free & Commercial versions) http://projects.westhost.com/contest/php/function/minify-css-js- and-cache-output/187 (Free) Confidential © www.applicationperformance.com Performance is our business!
  • 16. CMS Plugins Pros FREE in many cases Cons Specific to the CMS They won’t do all the optimizations Examples http://extensions.joomla.org/extensions/site-management/site- performance http://www.liferay.com/ (Built in CSS and JS combination and minification) http://wimleers.com/article/improving-drupals-page-loading- performance (Built in CSS and JS combination and minification) Confidential © www.applicationperformance.com Performance is our business!
  • 17. Acceleration Software/Modules Pros Quick to install. Automatically apply the most optimizations without code changes or hardware. Vendors continually develop to add support for new optimizations and browsers as they come along. Cons Beware of conflicts with other modules. Examples Aptimize www.aptimize.com (Commercial, any server) Google mod_pagespeed (Open Source, Apache only) Confidential © www.applicationperformance.com Performance is our business!
  • 18. Aptimize example microsoft.com Load Time = 4.0 seconds Load Time = 9.1 seconds Fully Loaded = 6.8 seconds Fully Loaded = 13.2 seconds Page size = 501 KB Page size = 1251 KB Requests = 21 Requests = 84 http://www.webpagetest.org/result/110125_CX_1J71/ http://www.webpagetest.org/result/110125_VS_1J72/ Confidential © www.applicationperformance.com Performance is our business!
  • 19. Hardware Appliances Traditional Load balancers have evolved to do additional tasks (Application Delivery Controllers) Pros Offload tasks from the web server such as:  Gzip compression  SSL termination  Caching Some are starting to do more frontend optimization techniques too. Cons They won’t do all the optimizations You need to install extra hardware Confidential © www.applicationperformance.com Performance is our business!
  • 20. Hardware Appliances Examples F5 Networks Citrix Netscaler Zeus StrangeLoops ActivNetworks We are seeing some convergence between network layer acceleration and application layer acceleration devices. Confidential © www.applicationperformance.com Performance is our business!
  • 21. SaaS Solutions Pros No on site hardware or software needed Cons DNS points to the provider so your site availability outside your control Examples http://www.strangeloopnetworks.com/products/site- optimizer-service/ Confidential © www.applicationperformance.com Performance is our business!
  • 22. Next generation CDNs Global edge caches with the addition of ‘middle mile acceleration’ which optimizes how data travels Pros No on site hardware or software needed TCP/IP optimization for middle mile Reduces round-trips Cons It won’t do all the optimizations. Confidential © www.applicationperformance.com Performance is our business!
  • 23. Next generation CDNs Examples http://www.cotendo.com/services/DSA/ http://www.us.cdnetworks.com/dynamic_web_acceleration Confidential © www.applicationperformance.com Performance is our business!
  • 24. Summary Many sites are not following the rules for frontend optimization. Doing it manually is time consuming There are several better options to help you do things quicker and easier. Evaluate multiple options and benchmark Confidential © www.applicationperformance.com Performance is our business!
  • 26. About Me 15yrs IT experience Started in 1996 as a C/C++ and Oracle developer Performance Consultant at Precise Software 1998-2003 Founded Application Performance Ltd in 2004-present e:mick.mcguinness@applicationperformance.com m:+44 7876 680410 Twitter: http://twitter.com/AppPerf LinkedIn: http://www.linkedin.com/in/mickmcguinness Skype: mick_mcguinness Confidential © www.applicationperformance.com Performance is our business!