SlideShare una empresa de Scribd logo
1 de 25
Descargar para leer sin conexión
Optimisation Case Study


           January 2011
     Ged Waring & Perry Dyball
Headline Results of Project

  • Reduced HTTP Requests by 30%

  • Reduced Page Load time by between 50% and 70%

  • Reduced Page Size by between 22% and 33%

  • Reduced Hard Bandwidth requirements by 43%

  • Reduced DB CPU requirements by 75%

  • Increased Concurrent Users ceiling by 300%


CONFIDENTIAL DRAFT
Presentation Outline

  • Origins of Problem

  • Why Optimise?

  • Project Constraints and Approach

  • Measurement Techniques & Tools

  • Project Steps

  • Wrap Up / Challenges


CONFIDENTIAL DRAFT
Origins of Problem

  • Frequent releases with poor measurement and
    testing

  • Speed to market versus slower engineering process

  • Problem compounds & worsens over time

  • No single culprit – all tiers of the platform

  • Did the problem harm our business?
        • In the short-to-medium term – almost certainly not.
        • In the medium-to-longer term – yes.

CONFIDENTIAL DRAFT
Why Optimise?

  • User Experience / Conversion / Retention

  • Increased capacity to serve customers

  • Google/SEO

  • Return on investment

  • Hard bandwidth ceiling and DB Server capacity

  • Handle large traffic spikes


CONFIDENTIAL DRAFT
Constraints

  • No additional hardware spend

  • Continual product / feature development




CONFIDENTIAL DRAFT
Project Approach

  • Path of least resistance

  • Iterative – Change / Measure / Report / Repeat

  • Phase 1 – Fairly Easy
        • Infrastructure Configuration / Leverage Existing Resources
        • Client Side Optimization
        • CDN

  • Phase 2 - Harder
        • Database Optimisation
        • Middle Tier Refactoring / Caching

CONFIDENTIAL DRAFT
Project Approach
                       Business buy-in


                     Baseline performance


                        Make a single
                          change


        Adapt your plan                     Measure it



                          Analyse
                           results
CONFIDENTIAL DRAFT
Project Approach

  • Release Discreet Changes
        • Script & run tests
        • Record metrics
        • Collate results
        • Report & analyse
        • Repeat

  • Minimise Other Environment Variables / Changes
        • Time of day
        • Hardware / Network changes
        • Skewed traffic (Ad. campaigns / Extraordinary spikes)



CONFIDENTIAL DRAFT
Tools we used

  • HttpWatch Professional (Object Library)
  • WebPageTest.org
  • Y-Slow / Firebug / Fiddler
  • Site Confidence Monitoring Portal

  • IDERA (DB Monitoring)

  • SQL Profiling (Server Side)
  • SQL Reporting Services

  • F5 Load Balancing Consultants – Quadrant Networks
  Note : In our case the new Site Confidence Performance Analyser tool
         has replaced HTTP Watch / WebPageTest / Y-Slow
CONFIDENTIAL DRAFT
Phase 1 : Client Side / Page Optimisation

  • Areas yielding highest benefit
        • Compression (check your configuration)
        • Compression moved from IIS to F5 Load Balancer
        • Object caching at F5 Load Balancer
        • Reduction in HTTP Requests / Spriting / File Consolidation
        • Image size consistency
        • Removal of third party killers (Images/JS)
        • Parallelism (CDN)




CONFIDENTIAL DRAFT
Client Side / Page Optimization Results

                               Home Page Load Time (ms) (2mbps download speed)                   Empty Cache          Primed Cache
             Baseline                                                                                      4,435              3,279
             P10 F5 Optimisation                                                                           4,145              3,123
             P20 10 March (Ptix, Concat)                                                                   4,608              2,781
             P30 24 March (Spriting and Verisign)                                                          1,804              1,177
             P40 24 March (Parallelism)                                                                    1,839              1,084
             R50 21st April Release                                                                        1,393               824


                                                                    Home Page Load Times (ms)
                                                                         (source: HttpWatch)


                                5000
                                4500
                                4000
              Load time (ms)




                                3500
                                3000
                                2500
                                2000
                                1500                                                                                         Empty
                                1000
                                 500                                                                                         Primed
                                   0
                                       P01 Baseline      P10 F5      P20 10        P30 24        P40 24       R50 21st
                                                      Optimisation March (Ptix,    March         March      April Release
                                                                    Concat)     (Spriting and (Parallelism)
                                                                                  Verisign)
                                                                        Optimisation Phase




CONFIDENTIAL DRAFT
Client Side / Page Optimization Results

                                                                                                                                                               Grand
                    Http Requests by Mime                        *        css          flash        html        image       javascript      redirect           Total

 01 Baseline                                                    1               4              1           1         37            13              3                60
 02 Post F5 Optimisation                                        1               4              1           1         37            13              3                60
 03 Page Optimisation 10 March (Ptix, Concat)                   1               4              1           1         37            12              3                59
 04 Page Optimisation 25 March (Spriting and Verisign)          1               4              1           1         23            12              3                45
 04 Parallelism 25th March                                      -               4              1           1         21            11                               38
 05 Release 21st April                                                          4                          1         22            10                               37

                                                                            Season Page
                                                                     HttpRequests by Phase/Mime


               70

               60

               50                                                                                                                                      redirect

               40                                                                                                                                      javascript
                                                                                                                                                       image
               30
                                                                                                                                                       html
               20                                                                                                                                      flash

               10                                                                                                                                      css
                                                                                                                                                       *
                0
                         01 Baseline         02 Post F5        03 Page               04 Page        04 Parallelism 25th   05 Release 21st
                                            Optimisation   Optimisation 10       Optimisation 25          March                April
                                                            March (Ptix,        March (Spriting and
                                                               Concat)              Verisign)



CONFIDENTIAL DRAFT
Client Side / Page Optimisation Results




CONFIDENTIAL DRAFT
Client Side / Page Optimisation Results




                     Page load performance
                       both improved and
                     became more consistent




CONFIDENTIAL DRAFT
Phase 1 : Results

   • Page load performance
         • Page load times reduced by between 38% and 60%
         • Bandwidth requirements reduced by 18%

   • How long did it take?
         • 4 months elapsed.
         • Work completed alongside normal product development




CONFIDENTIAL DRAFT
CDN Evaluation Overview




  Load time drop Monday to Wednesday when test speed increased from 512kbps to 2mbps

CONFIDENTIAL DRAFT
Phase 2 : What did we do?

  • Database
        • Analyse web page db interaction
        • Repeated tracing of all db calls
        • Reports on worst performing aspects of the db
        • Computing DB CPU per user session

  • F5 Load Balancing
        • Upgrade internal network layer configuration to 1Gbps
        • Upgrade F5 O/S to V10.2
        • F5 traffic management rules / log

  • CDN
        • Non image assets – JS / CSS serve from CDN
CONFIDENTIAL DRAFT
Phase 2 – Why did we do it?

    • Identify and remove redundant db calls from web code

    • Identify data that was a candidate for caching

    • Identify which site features were resource hungry

    • Save more bandwidth
    • Control traffic at the F5 in
      real time

        Overflow traffic redirected
        and managed in a cloud
        based queuing system


CONFIDENTIAL DRAFT
Effect on DB Resource Usage




CONFIDENTIAL DRAFT
Phase 2 Achievements

 • Benefits
       • Capacity increased from 2,100 to 6,300 concurrent users
       • 8.3m sessions in October 2010 on 8 web servers
       • Queuing capability for another 4,000 concurrent users
       • DB resource use reduced by 75%
       • Reduce bandwidth demands by further 25%
       • Reduce internal network traffic
 • Financial Benefit
       • Single biggest return this year
 • How long did it take?
       • 3 months elapsed
       • Work completed alongside normal product development
CONFIDENTIAL DRAFT
Normal Traffic Pattern




CONFIDENTIAL DRAFT
Major On-Sale Traffic Pattern




                                   Traffic spike sustained for long period.
                                   Gradual inflow of traffic from queuing
                                   system until queue expired



CONFIDENTIAL DRAFT
TV Advertising Traffic Pattern




                                    Note 3rd / 4th ad break spikes when we
                                    didn’t run ads




CONFIDENTIAL DRAFT
Wrap Up

   • It’s hard work

   • You need to do it repeatedly

   • You need to be consistent

   • It will generate large amounts of data

   • Use automation wherever possible

   • Expect unanticipated bottlenecks / pinch points

   • Bake optimisation into the release process

   • It will yield material benefits
CONFIDENTIAL DRAFT

Más contenido relacionado

La actualidad más candente

Performance Implications of Mobile Design
Performance Implications of Mobile DesignPerformance Implications of Mobile Design
Performance Implications of Mobile DesignGuy Podjarny
 
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 2011Peter Moskovits
 
Belgrade when its just too slow
Belgrade when its just too slowBelgrade when its just too slow
Belgrade when its just too slowDoug Sillars
 
Zend Server: A Guided Tour
Zend Server: A Guided TourZend Server: A Guided Tour
Zend Server: A Guided TourShahar Evron
 
Velocity 2012: The 90-Minute Mobile Optimization Life Cycle
Velocity 2012: The 90-Minute Mobile Optimization Life CycleVelocity 2012: The 90-Minute Mobile Optimization Life Cycle
Velocity 2012: The 90-Minute Mobile Optimization Life CycleStrangeloop
 
Tiery Eyed
Tiery EyedTiery Eyed
Tiery EyedZendCon
 
High Performance Mobile Web
High Performance Mobile WebHigh Performance Mobile Web
High Performance Mobile WebJames D Bloom
 
Building Living Web Applications with HTML5 WebSockets
Building Living Web Applications with HTML5 WebSocketsBuilding Living Web Applications with HTML5 WebSockets
Building Living Web Applications with HTML5 WebSocketsPeter Moskovits
 
Front end performance tip
Front end performance tipFront end performance tip
Front end performance tipSteve Yu
 
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)Peter Lubbers
 
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
 
Front end performance optimization
Front end performance optimizationFront end performance optimization
Front end performance optimizationStevie T
 
soft-shake.ch - Introduction to HTML5
soft-shake.ch - Introduction to HTML5soft-shake.ch - Introduction to HTML5
soft-shake.ch - Introduction to HTML5soft-shake.ch
 
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 BlackfireMarko Mitranić
 
Quantifying The Mobile Difference
Quantifying The Mobile DifferenceQuantifying The Mobile Difference
Quantifying The Mobile DifferenceGuy Podjarny
 
Magento Performance Optimization 101
Magento Performance Optimization 101Magento Performance Optimization 101
Magento Performance Optimization 101Angus Li
 
腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站areyouok
 
Building HTML5 WebSocket Apps in Java at JavaOne Latin America 2012
Building HTML5 WebSocket Apps in Java at JavaOne Latin America 2012Building HTML5 WebSocket Apps in Java at JavaOne Latin America 2012
Building HTML5 WebSocket Apps in Java at JavaOne Latin America 2012Arun Gupta
 
Introduction to WebSockets
Introduction to WebSocketsIntroduction to WebSockets
Introduction to WebSocketsGunnar Hillert
 

La actualidad más candente (20)

Performance Implications of Mobile Design
Performance Implications of Mobile DesignPerformance Implications of Mobile Design
Performance Implications of Mobile Design
 
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
 
Belgrade when its just too slow
Belgrade when its just too slowBelgrade when its just too slow
Belgrade when its just too slow
 
Zend Server: A Guided Tour
Zend Server: A Guided TourZend Server: A Guided Tour
Zend Server: A Guided Tour
 
Velocity 2012: The 90-Minute Mobile Optimization Life Cycle
Velocity 2012: The 90-Minute Mobile Optimization Life CycleVelocity 2012: The 90-Minute Mobile Optimization Life Cycle
Velocity 2012: The 90-Minute Mobile Optimization Life Cycle
 
Tiery Eyed
Tiery EyedTiery Eyed
Tiery Eyed
 
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
 
Building Living Web Applications with HTML5 WebSockets
Building Living Web Applications with HTML5 WebSocketsBuilding Living Web Applications with HTML5 WebSockets
Building Living Web Applications with HTML5 WebSockets
 
Front end performance tip
Front end performance tipFront end performance tip
Front end performance tip
 
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)
HTML5 Real Time and WebSocket Code Lab (SFHTML5, GTUGSF)
 
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...
 
Front end performance optimization
Front end performance optimizationFront end performance optimization
Front end performance optimization
 
soft-shake.ch - Introduction to HTML5
soft-shake.ch - Introduction to HTML5soft-shake.ch - Introduction to HTML5
soft-shake.ch - Introduction to HTML5
 
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
 
Quantifying The Mobile Difference
Quantifying The Mobile DifferenceQuantifying The Mobile Difference
Quantifying The Mobile Difference
 
Magento Performance Optimization 101
Magento Performance Optimization 101Magento Performance Optimization 101
Magento Performance Optimization 101
 
腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站腾讯大讲堂09 如何建设高性能网站
腾讯大讲堂09 如何建设高性能网站
 
Building HTML5 WebSocket Apps in Java at JavaOne Latin America 2012
Building HTML5 WebSocket Apps in Java at JavaOne Latin America 2012Building HTML5 WebSocket Apps in Java at JavaOne Latin America 2012
Building HTML5 WebSocket Apps in Java at JavaOne Latin America 2012
 
Introduction to WebSockets
Introduction to WebSocketsIntroduction to WebSockets
Introduction to WebSockets
 

Similar a Case Study Optimization Reduces Page Load Time by 50-70

Big Science, Big Data: Simon Metson at Eduserv Symposium 2012
Big Science, Big Data: Simon Metson at Eduserv Symposium 2012Big Science, Big Data: Simon Metson at Eduserv Symposium 2012
Big Science, Big Data: Simon Metson at Eduserv Symposium 2012Eduserv
 
Sql 2008 and project server 2010
Sql 2008 and project server 2010Sql 2008 and project server 2010
Sql 2008 and project server 2010Eduardo Castro
 
NIG 系統開發指引
NIG 系統開發指引NIG 系統開發指引
NIG 系統開發指引Guo Albert
 
Optimizing Oracle licensing in VMware environments
Optimizing Oracle licensing in VMware environments Optimizing Oracle licensing in VMware environments
Optimizing Oracle licensing in VMware environments iQuate
 
Ed Mathias May 6th
Ed Mathias   May 6thEd Mathias   May 6th
Ed Mathias May 6thedmathias
 
JIRA Enterprise Webinar - 15 Aug 2012
JIRA Enterprise Webinar - 15 Aug 2012JIRA Enterprise Webinar - 15 Aug 2012
JIRA Enterprise Webinar - 15 Aug 2012Atlassian
 
Rail Performance in the Cloud - Opening
Rail Performance in the Cloud - OpeningRail Performance in the Cloud - Opening
Rail Performance in the Cloud - OpeningEngine Yard
 
Metrics-Based Process Mapping: What, When & How
Metrics-Based Process Mapping: What, When & HowMetrics-Based Process Mapping: What, When & How
Metrics-Based Process Mapping: What, When & HowTKMG, Inc.
 
IT Strategy : Communication & Challenges
IT Strategy : Communication & ChallengesIT Strategy : Communication & Challenges
IT Strategy : Communication & Challengeshblowers
 
Rietta Business Intelligence for the MicroISV
Rietta Business Intelligence for the MicroISVRietta Business Intelligence for the MicroISV
Rietta Business Intelligence for the MicroISVFrank Rietta
 
IAITAM Webinar: How to Optimize Oracle licensing in VMware environments
IAITAM Webinar: How to Optimize Oracle licensing in VMware environments IAITAM Webinar: How to Optimize Oracle licensing in VMware environments
IAITAM Webinar: How to Optimize Oracle licensing in VMware environments iQuate
 
LinkedIn-Teradata Summit feb 25, 2015
LinkedIn-Teradata Summit feb 25, 2015LinkedIn-Teradata Summit feb 25, 2015
LinkedIn-Teradata Summit feb 25, 2015Navina Ramesh
 
Intel Cloud Summit: Welcome Address - Jason Fedder
Intel Cloud Summit: Welcome Address - Jason FedderIntel Cloud Summit: Welcome Address - Jason Fedder
Intel Cloud Summit: Welcome Address - Jason FedderIntelAPAC
 
Virt Exchange2k7 Final Frontier V Mworld2007
Virt Exchange2k7 Final Frontier V Mworld2007Virt Exchange2k7 Final Frontier V Mworld2007
Virt Exchange2k7 Final Frontier V Mworld2007Kong Yang
 
Zeebe - a Microservice Orchestration Engine
Zeebe - a Microservice Orchestration Engine Zeebe - a Microservice Orchestration Engine
Zeebe - a Microservice Orchestration Engine camunda services GmbH
 
Tim Jones – CTO, Trader Media
Tim Jones – CTO, Trader MediaTim Jones – CTO, Trader Media
Tim Jones – CTO, Trader MediaRightScale
 

Similar a Case Study Optimization Reduces Page Load Time by 50-70 (20)

Big Science, Big Data: Simon Metson at Eduserv Symposium 2012
Big Science, Big Data: Simon Metson at Eduserv Symposium 2012Big Science, Big Data: Simon Metson at Eduserv Symposium 2012
Big Science, Big Data: Simon Metson at Eduserv Symposium 2012
 
Fachseminar Wcms 2008 Day
Fachseminar Wcms 2008 DayFachseminar Wcms 2008 Day
Fachseminar Wcms 2008 Day
 
Gic2011 aula3-ingles
Gic2011 aula3-inglesGic2011 aula3-ingles
Gic2011 aula3-ingles
 
Gic2011 aula3-ingles
Gic2011 aula3-inglesGic2011 aula3-ingles
Gic2011 aula3-ingles
 
Masahiro Yoshizaki
Masahiro YoshizakiMasahiro Yoshizaki
Masahiro Yoshizaki
 
Sql 2008 and project server 2010
Sql 2008 and project server 2010Sql 2008 and project server 2010
Sql 2008 and project server 2010
 
NIG 系統開發指引
NIG 系統開發指引NIG 系統開發指引
NIG 系統開發指引
 
Optimizing Oracle licensing in VMware environments
Optimizing Oracle licensing in VMware environments Optimizing Oracle licensing in VMware environments
Optimizing Oracle licensing in VMware environments
 
Ed Mathias May 6th
Ed Mathias   May 6thEd Mathias   May 6th
Ed Mathias May 6th
 
JIRA Enterprise Webinar - 15 Aug 2012
JIRA Enterprise Webinar - 15 Aug 2012JIRA Enterprise Webinar - 15 Aug 2012
JIRA Enterprise Webinar - 15 Aug 2012
 
Rail Performance in the Cloud - Opening
Rail Performance in the Cloud - OpeningRail Performance in the Cloud - Opening
Rail Performance in the Cloud - Opening
 
Metrics-Based Process Mapping: What, When & How
Metrics-Based Process Mapping: What, When & HowMetrics-Based Process Mapping: What, When & How
Metrics-Based Process Mapping: What, When & How
 
IT Strategy : Communication & Challenges
IT Strategy : Communication & ChallengesIT Strategy : Communication & Challenges
IT Strategy : Communication & Challenges
 
Rietta Business Intelligence for the MicroISV
Rietta Business Intelligence for the MicroISVRietta Business Intelligence for the MicroISV
Rietta Business Intelligence for the MicroISV
 
IAITAM Webinar: How to Optimize Oracle licensing in VMware environments
IAITAM Webinar: How to Optimize Oracle licensing in VMware environments IAITAM Webinar: How to Optimize Oracle licensing in VMware environments
IAITAM Webinar: How to Optimize Oracle licensing in VMware environments
 
LinkedIn-Teradata Summit feb 25, 2015
LinkedIn-Teradata Summit feb 25, 2015LinkedIn-Teradata Summit feb 25, 2015
LinkedIn-Teradata Summit feb 25, 2015
 
Intel Cloud Summit: Welcome Address - Jason Fedder
Intel Cloud Summit: Welcome Address - Jason FedderIntel Cloud Summit: Welcome Address - Jason Fedder
Intel Cloud Summit: Welcome Address - Jason Fedder
 
Virt Exchange2k7 Final Frontier V Mworld2007
Virt Exchange2k7 Final Frontier V Mworld2007Virt Exchange2k7 Final Frontier V Mworld2007
Virt Exchange2k7 Final Frontier V Mworld2007
 
Zeebe - a Microservice Orchestration Engine
Zeebe - a Microservice Orchestration Engine Zeebe - a Microservice Orchestration Engine
Zeebe - a Microservice Orchestration Engine
 
Tim Jones – CTO, Trader Media
Tim Jones – CTO, Trader MediaTim Jones – CTO, Trader Media
Tim Jones – CTO, Trader Media
 

Más de 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 2013Stephen 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 thairStephen 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 TaleStephen 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.ukStephen Thair
 
Measuring web performance. Velocity EU 2011
Measuring web performance. Velocity EU 2011Measuring web performance. Velocity EU 2011
Measuring web performance. Velocity EU 2011Stephen 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 SeminarStephen 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 SPDYStephen 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 v2Stephen 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 thairStephen 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 - AndreasGrabnerStephen Thair
 
Configuration Management - The Operations Managers View
Configuration Management - The Operations Managers ViewConfiguration Management - The Operations Managers View
Configuration Management - The Operations Managers ViewStephen Thair
 
Test Expo 2009 Site Confidence & Seriti Consulting Load Test Case Study
Test Expo 2009   Site Confidence & Seriti Consulting   Load Test Case StudyTest Expo 2009   Site Confidence & Seriti Consulting   Load Test Case Study
Test Expo 2009 Site Confidence & Seriti Consulting Load Test Case StudyStephen Thair
 

Más de 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 & Seriti Consulting Load Test Case Study
Test Expo 2009   Site Confidence & Seriti Consulting   Load Test Case StudyTest Expo 2009   Site Confidence & Seriti Consulting   Load Test Case Study
Test Expo 2009 Site Confidence & Seriti Consulting Load Test Case Study
 

Último

Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdfQucHHunhnh
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpinRaunakKeshri1
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptxVS Mahajan Coaching Centre
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introductionMaksud Ahmed
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...EduSkills OECD
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxiammrhaywood
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxheathfieldcps1
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...fonyou31
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...anjaliyadav012327
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 

Último (20)

Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Advance Mobile Application Development class 07
Advance Mobile Application Development class 07Advance Mobile Application Development class 07
Advance Mobile Application Development class 07
 
1029-Danh muc Sach Giao Khoa khoi 6.pdf
1029-Danh muc Sach Giao Khoa khoi  6.pdf1029-Danh muc Sach Giao Khoa khoi  6.pdf
1029-Danh muc Sach Giao Khoa khoi 6.pdf
 
Student login on Anyboli platform.helpin
Student login on Anyboli platform.helpinStudent login on Anyboli platform.helpin
Student login on Anyboli platform.helpin
 
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions  for the students and aspirants of Chemistry12th.pptxOrganic Name Reactions  for the students and aspirants of Chemistry12th.pptx
Organic Name Reactions for the students and aspirants of Chemistry12th.pptx
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
microwave assisted reaction. General introduction
microwave assisted reaction. General introductionmicrowave assisted reaction. General introduction
microwave assisted reaction. General introduction
 
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
Presentation by Andreas Schleicher Tackling the School Absenteeism Crisis 30 ...
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1Código Creativo y Arte de Software | Unidad 1
Código Creativo y Arte de Software | Unidad 1
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptxSOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
SOCIAL AND HISTORICAL CONTEXT - LFTVD.pptx
 
The basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptxThe basics of sentences session 2pptx copy.pptx
The basics of sentences session 2pptx copy.pptx
 
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
Ecosystem Interactions Class Discussion Presentation in Blue Green Lined Styl...
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
JAPAN: ORGANISATION OF PMDA, PHARMACEUTICAL LAWS & REGULATIONS, TYPES OF REGI...
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 

Case Study Optimization Reduces Page Load Time by 50-70

  • 1. Optimisation Case Study January 2011 Ged Waring & Perry Dyball
  • 2. Headline Results of Project • Reduced HTTP Requests by 30% • Reduced Page Load time by between 50% and 70% • Reduced Page Size by between 22% and 33% • Reduced Hard Bandwidth requirements by 43% • Reduced DB CPU requirements by 75% • Increased Concurrent Users ceiling by 300% CONFIDENTIAL DRAFT
  • 3. Presentation Outline • Origins of Problem • Why Optimise? • Project Constraints and Approach • Measurement Techniques & Tools • Project Steps • Wrap Up / Challenges CONFIDENTIAL DRAFT
  • 4. Origins of Problem • Frequent releases with poor measurement and testing • Speed to market versus slower engineering process • Problem compounds & worsens over time • No single culprit – all tiers of the platform • Did the problem harm our business? • In the short-to-medium term – almost certainly not. • In the medium-to-longer term – yes. CONFIDENTIAL DRAFT
  • 5. Why Optimise? • User Experience / Conversion / Retention • Increased capacity to serve customers • Google/SEO • Return on investment • Hard bandwidth ceiling and DB Server capacity • Handle large traffic spikes CONFIDENTIAL DRAFT
  • 6. Constraints • No additional hardware spend • Continual product / feature development CONFIDENTIAL DRAFT
  • 7. Project Approach • Path of least resistance • Iterative – Change / Measure / Report / Repeat • Phase 1 – Fairly Easy • Infrastructure Configuration / Leverage Existing Resources • Client Side Optimization • CDN • Phase 2 - Harder • Database Optimisation • Middle Tier Refactoring / Caching CONFIDENTIAL DRAFT
  • 8. Project Approach Business buy-in Baseline performance Make a single change Adapt your plan Measure it Analyse results CONFIDENTIAL DRAFT
  • 9. Project Approach • Release Discreet Changes • Script & run tests • Record metrics • Collate results • Report & analyse • Repeat • Minimise Other Environment Variables / Changes • Time of day • Hardware / Network changes • Skewed traffic (Ad. campaigns / Extraordinary spikes) CONFIDENTIAL DRAFT
  • 10. Tools we used • HttpWatch Professional (Object Library) • WebPageTest.org • Y-Slow / Firebug / Fiddler • Site Confidence Monitoring Portal • IDERA (DB Monitoring) • SQL Profiling (Server Side) • SQL Reporting Services • F5 Load Balancing Consultants – Quadrant Networks Note : In our case the new Site Confidence Performance Analyser tool has replaced HTTP Watch / WebPageTest / Y-Slow CONFIDENTIAL DRAFT
  • 11. Phase 1 : Client Side / Page Optimisation • Areas yielding highest benefit • Compression (check your configuration) • Compression moved from IIS to F5 Load Balancer • Object caching at F5 Load Balancer • Reduction in HTTP Requests / Spriting / File Consolidation • Image size consistency • Removal of third party killers (Images/JS) • Parallelism (CDN) CONFIDENTIAL DRAFT
  • 12. Client Side / Page Optimization Results Home Page Load Time (ms) (2mbps download speed) Empty Cache Primed Cache Baseline 4,435 3,279 P10 F5 Optimisation 4,145 3,123 P20 10 March (Ptix, Concat) 4,608 2,781 P30 24 March (Spriting and Verisign) 1,804 1,177 P40 24 March (Parallelism) 1,839 1,084 R50 21st April Release 1,393 824 Home Page Load Times (ms) (source: HttpWatch) 5000 4500 4000 Load time (ms) 3500 3000 2500 2000 1500 Empty 1000 500 Primed 0 P01 Baseline P10 F5 P20 10 P30 24 P40 24 R50 21st Optimisation March (Ptix, March March April Release Concat) (Spriting and (Parallelism) Verisign) Optimisation Phase CONFIDENTIAL DRAFT
  • 13. Client Side / Page Optimization Results Grand Http Requests by Mime * css flash html image javascript redirect Total 01 Baseline 1 4 1 1 37 13 3 60 02 Post F5 Optimisation 1 4 1 1 37 13 3 60 03 Page Optimisation 10 March (Ptix, Concat) 1 4 1 1 37 12 3 59 04 Page Optimisation 25 March (Spriting and Verisign) 1 4 1 1 23 12 3 45 04 Parallelism 25th March - 4 1 1 21 11 38 05 Release 21st April 4 1 22 10 37 Season Page HttpRequests by Phase/Mime 70 60 50 redirect 40 javascript image 30 html 20 flash 10 css * 0 01 Baseline 02 Post F5 03 Page 04 Page 04 Parallelism 25th 05 Release 21st Optimisation Optimisation 10 Optimisation 25 March April March (Ptix, March (Spriting and Concat) Verisign) CONFIDENTIAL DRAFT
  • 14. Client Side / Page Optimisation Results CONFIDENTIAL DRAFT
  • 15. Client Side / Page Optimisation Results Page load performance both improved and became more consistent CONFIDENTIAL DRAFT
  • 16. Phase 1 : Results • Page load performance • Page load times reduced by between 38% and 60% • Bandwidth requirements reduced by 18% • How long did it take? • 4 months elapsed. • Work completed alongside normal product development CONFIDENTIAL DRAFT
  • 17. CDN Evaluation Overview Load time drop Monday to Wednesday when test speed increased from 512kbps to 2mbps CONFIDENTIAL DRAFT
  • 18. Phase 2 : What did we do? • Database • Analyse web page db interaction • Repeated tracing of all db calls • Reports on worst performing aspects of the db • Computing DB CPU per user session • F5 Load Balancing • Upgrade internal network layer configuration to 1Gbps • Upgrade F5 O/S to V10.2 • F5 traffic management rules / log • CDN • Non image assets – JS / CSS serve from CDN CONFIDENTIAL DRAFT
  • 19. Phase 2 – Why did we do it? • Identify and remove redundant db calls from web code • Identify data that was a candidate for caching • Identify which site features were resource hungry • Save more bandwidth • Control traffic at the F5 in real time Overflow traffic redirected and managed in a cloud based queuing system CONFIDENTIAL DRAFT
  • 20. Effect on DB Resource Usage CONFIDENTIAL DRAFT
  • 21. Phase 2 Achievements • Benefits • Capacity increased from 2,100 to 6,300 concurrent users • 8.3m sessions in October 2010 on 8 web servers • Queuing capability for another 4,000 concurrent users • DB resource use reduced by 75% • Reduce bandwidth demands by further 25% • Reduce internal network traffic • Financial Benefit • Single biggest return this year • How long did it take? • 3 months elapsed • Work completed alongside normal product development CONFIDENTIAL DRAFT
  • 23. Major On-Sale Traffic Pattern Traffic spike sustained for long period. Gradual inflow of traffic from queuing system until queue expired CONFIDENTIAL DRAFT
  • 24. TV Advertising Traffic Pattern Note 3rd / 4th ad break spikes when we didn’t run ads CONFIDENTIAL DRAFT
  • 25. Wrap Up • It’s hard work • You need to do it repeatedly • You need to be consistent • It will generate large amounts of data • Use automation wherever possible • Expect unanticipated bottlenecks / pinch points • Bake optimisation into the release process • It will yield material benefits CONFIDENTIAL DRAFT