SlideShare a Scribd company logo
1 of 71
Practical Web performance Stephen Thair, Seriti Consulting, @TheOpsMgr stephen.thair@seriticonsulting.com 26/09/2011 Ā© Seriti Consulting 1
Defining ā€œWeb Performanceā€? Why performance matters (to your business) The ā€œRulesā€ of Web Performance Practical Web Performance (ā€œwhere to start!ā€) Agenda 26/09/2011 (c) Seriti Consulting, 2011 2
My Definition of Web Performance 26/09/2011 (c) Seriti Consulting, 2011 3 ā€œThe delay perceived by the website visitor between an action (e.g click) and a meaningful responseā€ ā€œThe delay perceived by the website visitor between an action (e.g click) and a meaningful responseā€ ā€œThe delay perceived by the website visitor between an action (e.g click) and a meaningful responseā€
Perception http://velocityconf.com/velocity2010/public/schedule/detail/13019 26/09/2011 (c) Seriti Consulting, 2011 4
26/09/2011 Ā© Seriti Consulting 5 Just because your DevMgr, QA Mgr, Ops Mgr tells you ā€œperformance is goodā€ doesnā€™t means that it is PERCEIVED that way by your CUSTOMERSā€¦
ā€œBrain wave analysis from the experiment revealed that participants had to concentrate up to 50% more when using badly performing websites, while facial muscle and behavioural analysis of the subjects also revealed greater agitation and stress in these periods. http://www.ca.com/Files/SupportingPieces/final_webstress_survey_report_229296.pdf Poor Performance = Web Stress!!! 26/09/2011 (c) Seriti Consulting, 2011 6
0.1 secondsgives the feeling of instantaneous response  1 secondkeeps the user's flow of thought seamless.  10 secondskeeps the user's attention JakobNeilsen. http://www.useit.com/alertbox/response-times.html So what is ā€œGood Performanceā€? 26/09/2011 (c) Seriti Consulting, 2011 7
10 Seconds is too slowā€¦ (IMHO) ā€œInitial renderā€ < 750ms and be  ā€œPage Completeā€ < 3 seconds  ā€œ3 Second Ruleā€ 26/09/2011 (c) Seriti Consulting, 2011 8
Why Performance Matters 26/09/2011 (c) Seriti Consulting, 2011 9
Bounce Rate goes up http://www.webperformancetoday.com/2010/06/22/the-90-minute-optimization-life-cycle-faster-by-default-before-our-eyes/ 26/09/2011 (c) Seriti Consulting, 2011 10
Page Views goes down http://www.webperformancetoday.com/2010/06/22/the-90-minute-optimization-life-cycle-faster-by-default-before-our-eyes/ 26/09/2011 (c) Seriti Consulting, 2011 11
Conversion Rate goes down http://www.webperformancetoday.com/2010/06/22/the-90-minute-optimization-life-cycle-faster-by-default-before-our-eyes/ 26/09/2011 (c) Seriti Consulting, 2011 12
ā€œA 1-second delay in page load time equals 11% fewer page views, a 16% decrease in customer satisfaction, and 7% loss in conversionsā€  Aberdeen Group http://www.aberdeen.com/Aberdeen-Library/5136/RA-performance-web-application.aspx 3rd Party Research 26/09/2011 (c) Seriti Consulting, 2011 13
Artificial 1s delay = 2.8% reduction in revenue per user Empirical Testing 26/09/2011 (c) Seriti Consulting, 2011 14 http://assets.en.oreilly.com/1/event/29/The%20User%20and%20Business%20Impact%20of%20Server%20Delays%2C%20Additional%20Bytes%2C%20and%20HTTP%20Chunking%20in%20Web%20Search%20Presentation.pptx
You are losing Visitors You are losing Sales You are losing Ad-revenue You are wasting SEO/SEM/PPC budget Spending Ā£Ā£Ā£ on bandwidth and servers In Summaryā€¦ 26/09/2011 (c) Seriti Consulting, 2011 15
26/09/2011 Ā© Seriti Consulting 16 So how are we doing?
26/09/2011 Ā© Seriti Consulting 17 Largest Pageā€¦ 4,909,588 bytes
26/09/2011 Ā© Seriti Consulting 18 Slowest Pageā€¦ 12.436 secs
26/09/2011 Ā© Seriti Consulting 19 Most objectsā€¦ 227
26/09/2011 Ā© Seriti Consulting 20 1 was down for maintenance 1 didnā€™t re-direct from http to https ~28% had some type of error
26/09/2011 Ā© Seriti Consulting 21 So what can you do about it? Answer = Optimise!
26/09/2011 Ā© Seriti Consulting 22 80% ā€œFront Endā€ 20% ā€œBack-endā€
Focus on the ā€œfront endā€ Optimise the interaction between the browser and the data-centre And how the browser processes the client-side objects ā€œFront End Engineeringā€ 26/09/2011 (c) Seriti Consulting, 2011 23
Yahooā€™s Rules ,[object Object]
Use a Content Delivery Network
Add an Expires or a Cache-Control Header
Gzip Components
Put StyleSheets at the Top
Put Scripts at the Bottom
Avoid CSS Expressions
Make JavaScript and CSS External
Reduce DNS Lookups
Minify JavaScript and CSS
Avoid RedirectsRemove Duplicate Scripts Configure ETags Make AJAX Cacheable Use GET for AJAX Requests Reduce the Number of DOM Elements No 404s Reduce Cookie Size Use Cookie-Free Domains for Components Avoid Filters Do Not Scale Images in HTML Make favicon.ico Small & Cacheable http://developer.yahoo.com/yslow/help/#guidelines 26/09/2011 (c) Seriti Consulting, 2011 24
Googleā€™s Rules ,[object Object]
Avoid CSS expressions
Combine external CSS
Combine external JavaScript
Defer loading of JavaScript
Enable compression
Leverage browser caching
Leverage proxy caching
Minify CSS
Minify HTML
Minify JavaScript
Minimize request size
Minimize DNS lookupsMinimize redirects Optimize images Optimize the order of styles and scripts Parallelize downloads across hostnames Put CSS in the document head Remove unused CSS Serve resources from a consistent URL Serve scaled images Serve static content from a cookieless domain Specify a character set early Specify image dimensions Use efficient CSS selectors    http://code.google.com/speed/page-speed/docs/rules_intro.html 26/09/2011 (c) Seriti Consulting, 2011 25
26/09/2011 Ā© Seriti Consulting 26 Informationoverload!
26/09/2011 Ā© Seriti Consulting 27 Where should you start?
26/09/2011 Ā© Seriti Consulting 28 Which optimisations are most common? Which optimisations are most important?  And the survey saysā€¦
HTTP Archive  - Load Time Correlation 26/09/2011 Ā© Seriti Consulting 29 http://httparchive.org/interesting.php
HTTP Archive  - Render Time Correlation 26/09/2011 Ā© Seriti Consulting 30 http://httparchive.org/interesting.php
Lessons learnt from consultingā€¦ 26/09/2011 Ā© Seriti Consulting 31
26/09/2011 Ā© Seriti Consulting 32
5 Important Ones Reduce Page Size (<500Kb) Enable (Gzip) Compression Reduce the number of roundtrips (<40 per pageā€¦) HTTP Cache Headers (cache long & prosper!) Structure the page (to improve render & download) CSS First Javascript last 26/09/2011 (c) Seriti Consulting, 2011 33
Even if you apply just those 5 rulesā€¦Your page download times will drop by ~50% Low hanging fruitā€¦ 26/09/2011 (c) Seriti Consulting, 2011 34
What about the other rules? Generally you are now measuring gains in milliseconds 26/09/2011 (c) Seriti Consulting, 2011 35 But even milliseconds can make a differenceā€¦
Optimising JavaScript & async loading 26/09/2011 Ā© Seriti Consulting 36 Loading jqueryAsync Improving JS Execution time Delayed ad-loading Faster does not always equal more revenue!!! http://velocityconf.com/velocity2011/public/schedule/detail/18039
ā€œReduce the number of DOM elementsā€ 26/09/2011 (c) Seriti Consulting, 2011 37 24,000 calls to a selector takes timeā€¦
ā€œUse a content delivery networkā€ 26/09/2011 Ā© Seriti Consulting 38 You canā€™t beat the speed of lightā€¦ And if your customers are not in the UK, invest in a CDNā€¦
26/09/2011 Ā© Seriti Consulting 39 4.5 seconds in London becomes 12.5 seconds in Singapore
ā€œUse http keep-alivesā€ 26/09/2011 Ā© Seriti Consulting 40 Tune your HTTP Keep-Alives! KeepAliveTimeout Value (sec) MaxKeepAlive Requests (# requests/connection) Stop forcing your customers to re-negotiate connections (even partway through a page!) Even more important for SSL! (~4x slower)
26/09/2011 Ā© Seriti Consulting 41 ā€œThe Bigger Pictureā€
26/09/2011 Ā© Seriti Consulting 42 WPO is not just for Christmasā€¦
26/09/2011 Ā© Seriti Consulting 43 Performance is a  PROCESS NOT a PROJECT http://www.seriticonsulting.com/blog/2011/5/28/web-performance-is-not-just-for-christmashellip.html
26/09/2011 Ā© Seriti Consulting 44 Who should you have on your WPO project  team?  http://www.seriticonsulting.com/blog/2011/5/29/who-should-be-on-your-wpo-team.html
26/09/2011 Ā© Seriti Consulting 45 Who should you have on your WPO Process!  team?  http://www.seriticonsulting.com/blog/2011/5/29/who-should-be-on-your-wpo-team.html
26/09/2011 Ā© Seriti Consulting 46 Performance Lead / Evangelist Front-end Developer Back-end Developer Performance QA Database Administrator Systems Administrator Network Administrator Web Analytics Analyst
26/09/2011 Ā© Seriti Consulting 47 Economics of WPOā€¦ is automation the answer? http://www.seriticonsulting.com/blog/2011/8/11/why-i-think-automation-is-the-future-of-webperf.html Answer: Maybe?
26/09/2011 Ā© Seriti Consulting 48 What Else?
26/09/2011 Ā© Seriti Consulting 49 ā€œI often say that when you can measure what you are speaking about, and express it in numbers, you know something about it; but when you cannot express it in numbers, your knowledge is of a meagre and unsatisfactory kind; it may be the beginning of knowledge, but you have scarcely, in your thoughts, advanced to the stage of Science, whatever the matter may be.ā€ -- William Thomson,1st Baron Kelvin

More Related Content

Similar to Practical web performance - Site Confidence Web Performance Seminar

Sharepoint 2010 architecture, ha and dr (tig)
Sharepoint 2010 architecture, ha and dr (tig)Sharepoint 2010 architecture, ha and dr (tig)
Sharepoint 2010 architecture, ha and dr (tig)
Tihomir Ignatov
Ā 
Reshaping Enterprise Architecture
Reshaping Enterprise Architecture Reshaping Enterprise Architecture
Reshaping Enterprise Architecture
WSO2
Ā 
System Center Cloud Services Process Pack Administration Guide
System Center Cloud Services Process Pack Administration GuideSystem Center Cloud Services Process Pack Administration Guide
System Center Cloud Services Process Pack Administration Guide
Kathy Vinatieri
Ā 

Similar to Practical web performance - Site Confidence Web Performance Seminar (20)

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
Ā 
Saa s webinar slides final rlh - 3-31
Saa s webinar slides   final rlh - 3-31Saa s webinar slides   final rlh - 3-31
Saa s webinar slides final rlh - 3-31
Ā 
Webinar: Microsoft SharePoint-The Ultimate Enterprise Collaboration Platform
Webinar: Microsoft SharePoint-The Ultimate Enterprise Collaboration PlatformWebinar: Microsoft SharePoint-The Ultimate Enterprise Collaboration Platform
Webinar: Microsoft SharePoint-The Ultimate Enterprise Collaboration Platform
Ā 
Client-side Web Performance Optimization [paper]
Client-side Web Performance Optimization [paper]Client-side Web Performance Optimization [paper]
Client-side Web Performance Optimization [paper]
Ā 
Sharepoint 2010 architecture, ha and dr (tig)
Sharepoint 2010 architecture, ha and dr (tig)Sharepoint 2010 architecture, ha and dr (tig)
Sharepoint 2010 architecture, ha and dr (tig)
Ā 
2011 05-11 IIBA Vendor Webinar- Business Process Modeling
2011 05-11 IIBA Vendor Webinar- Business Process Modeling2011 05-11 IIBA Vendor Webinar- Business Process Modeling
2011 05-11 IIBA Vendor Webinar- Business Process Modeling
Ā 
altowebWhitePaper
altowebWhitePaperaltowebWhitePaper
altowebWhitePaper
Ā 
Share Point Governance: 10 Steps to Successful Deployment by Joel Oleson Bes...
Share Point Governance: 10 Steps to Successful Deployment by  Joel Oleson Bes...Share Point Governance: 10 Steps to Successful Deployment by  Joel Oleson Bes...
Share Point Governance: 10 Steps to Successful Deployment by Joel Oleson Bes...
Ā 
Oracle soa-vs-ibm-soa-345791
Oracle soa-vs-ibm-soa-345791Oracle soa-vs-ibm-soa-345791
Oracle soa-vs-ibm-soa-345791
Ā 
Methods Over Madness 2003 Ver.
Methods Over Madness 2003 Ver.Methods Over Madness 2003 Ver.
Methods Over Madness 2003 Ver.
Ā 
The Three Stages of Cloud Adoption - RightScale Compute 2013
The Three Stages of Cloud Adoption - RightScale Compute 2013The Three Stages of Cloud Adoption - RightScale Compute 2013
The Three Stages of Cloud Adoption - RightScale Compute 2013
Ā 
Suisse Romande SF DG - Lightning workshop
Suisse Romande SF DG - Lightning workshopSuisse Romande SF DG - Lightning workshop
Suisse Romande SF DG - Lightning workshop
Ā 
Visual Workflow Overview
Visual Workflow OverviewVisual Workflow Overview
Visual Workflow Overview
Ā 
MDA Vs Web Ratio for Non It
MDA Vs Web Ratio for Non ItMDA Vs Web Ratio for Non It
MDA Vs Web Ratio for Non It
Ā 
Reshaping Enterprise Architecture
Reshaping Enterprise Architecture Reshaping Enterprise Architecture
Reshaping Enterprise Architecture
Ā 
Convince your boss to go Serverless at AWS User Group Tirupathi and Serverles...
Convince your boss to go Serverless at AWS User Group Tirupathi and Serverles...Convince your boss to go Serverless at AWS User Group Tirupathi and Serverles...
Convince your boss to go Serverless at AWS User Group Tirupathi and Serverles...
Ā 
How Citrix Aligns IT to Business Goals
How Citrix Aligns IT to Business Goals How Citrix Aligns IT to Business Goals
How Citrix Aligns IT to Business Goals
Ā 
Share point 2013: introduction, features, and roles
Share point 2013: introduction, features, and rolesShare point 2013: introduction, features, and roles
Share point 2013: introduction, features, and roles
Ā 
System Center Cloud Services Process Pack Administration Guide
System Center Cloud Services Process Pack Administration GuideSystem Center Cloud Services Process Pack Administration Guide
System Center Cloud Services Process Pack Administration Guide
Ā 
Bringing to Market a Successful Cloud Service - Knowing When to Partner, When...
Bringing to Market a Successful Cloud Service - Knowing When to Partner, When...Bringing to Market a Successful Cloud Service - Knowing When to Partner, When...
Bringing to Market a Successful Cloud Service - Knowing When to Partner, When...
Ā 

More from Stephen Thair

More from Stephen Thair (13)

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
Ā 
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...
Ā 
Performance automation 101 @LDNWebPerf MickMcGuinness
Performance automation 101 @LDNWebPerf MickMcGuinnessPerformance automation 101 @LDNWebPerf MickMcGuinness
Performance automation 101 @LDNWebPerf MickMcGuinness
Ā 
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
Ā 
Seatwave Web Peformance Optimisation Case Study
Seatwave Web Peformance Optimisation Case StudySeatwave Web Peformance Optimisation Case Study
Seatwave Web Peformance Optimisation Case Study
Ā 
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
Ā 

Recently uploaded

Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
Ā 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(ā˜Žļø+971_581248768%)**%*]'#abortion pills for sale in dubai@
Ā 

Recently uploaded (20)

Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
Ā 
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data DiscoveryTrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
TrustArc Webinar - Unlock the Power of AI-Driven Data Discovery
Ā 
GenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdfGenAI Risks & Security Meetup 01052024.pdf
GenAI Risks & Security Meetup 01052024.pdf
Ā 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Ā 
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day PresentationGenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
Ā 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Ā 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
Ā 
Developing An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of BrazilDeveloping An App To Navigate The Roads of Brazil
Developing An App To Navigate The Roads of Brazil
Ā 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
Ā 
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
Ā 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
Ā 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
Ā 
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Connector Corner: Accelerate revenue generation using UiPath API-centric busi...
Ā 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
Ā 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Ā 
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, AdobeApidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Apidays New York 2024 - Scaling API-first by Ian Reasor and Radu Cotescu, Adobe
Ā 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
Ā 
šŸ¬ The future of MySQL is Postgres šŸ˜
šŸ¬  The future of MySQL is Postgres   šŸ˜šŸ¬  The future of MySQL is Postgres   šŸ˜
šŸ¬ The future of MySQL is Postgres šŸ˜
Ā 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
Ā 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Ā 

Practical web performance - Site Confidence Web Performance Seminar

  • 1. Practical Web performance Stephen Thair, Seriti Consulting, @TheOpsMgr stephen.thair@seriticonsulting.com 26/09/2011 Ā© Seriti Consulting 1
  • 2. Defining ā€œWeb Performanceā€? Why performance matters (to your business) The ā€œRulesā€ of Web Performance Practical Web Performance (ā€œwhere to start!ā€) Agenda 26/09/2011 (c) Seriti Consulting, 2011 2
  • 3. My Definition of Web Performance 26/09/2011 (c) Seriti Consulting, 2011 3 ā€œThe delay perceived by the website visitor between an action (e.g click) and a meaningful responseā€ ā€œThe delay perceived by the website visitor between an action (e.g click) and a meaningful responseā€ ā€œThe delay perceived by the website visitor between an action (e.g click) and a meaningful responseā€
  • 5. 26/09/2011 Ā© Seriti Consulting 5 Just because your DevMgr, QA Mgr, Ops Mgr tells you ā€œperformance is goodā€ doesnā€™t means that it is PERCEIVED that way by your CUSTOMERSā€¦
  • 6. ā€œBrain wave analysis from the experiment revealed that participants had to concentrate up to 50% more when using badly performing websites, while facial muscle and behavioural analysis of the subjects also revealed greater agitation and stress in these periods. http://www.ca.com/Files/SupportingPieces/final_webstress_survey_report_229296.pdf Poor Performance = Web Stress!!! 26/09/2011 (c) Seriti Consulting, 2011 6
  • 7. 0.1 secondsgives the feeling of instantaneous response 1 secondkeeps the user's flow of thought seamless. 10 secondskeeps the user's attention JakobNeilsen. http://www.useit.com/alertbox/response-times.html So what is ā€œGood Performanceā€? 26/09/2011 (c) Seriti Consulting, 2011 7
  • 8. 10 Seconds is too slowā€¦ (IMHO) ā€œInitial renderā€ < 750ms and be ā€œPage Completeā€ < 3 seconds ā€œ3 Second Ruleā€ 26/09/2011 (c) Seriti Consulting, 2011 8
  • 9. Why Performance Matters 26/09/2011 (c) Seriti Consulting, 2011 9
  • 10. Bounce Rate goes up http://www.webperformancetoday.com/2010/06/22/the-90-minute-optimization-life-cycle-faster-by-default-before-our-eyes/ 26/09/2011 (c) Seriti Consulting, 2011 10
  • 11. Page Views goes down http://www.webperformancetoday.com/2010/06/22/the-90-minute-optimization-life-cycle-faster-by-default-before-our-eyes/ 26/09/2011 (c) Seriti Consulting, 2011 11
  • 12. Conversion Rate goes down http://www.webperformancetoday.com/2010/06/22/the-90-minute-optimization-life-cycle-faster-by-default-before-our-eyes/ 26/09/2011 (c) Seriti Consulting, 2011 12
  • 13. ā€œA 1-second delay in page load time equals 11% fewer page views, a 16% decrease in customer satisfaction, and 7% loss in conversionsā€ Aberdeen Group http://www.aberdeen.com/Aberdeen-Library/5136/RA-performance-web-application.aspx 3rd Party Research 26/09/2011 (c) Seriti Consulting, 2011 13
  • 14. Artificial 1s delay = 2.8% reduction in revenue per user Empirical Testing 26/09/2011 (c) Seriti Consulting, 2011 14 http://assets.en.oreilly.com/1/event/29/The%20User%20and%20Business%20Impact%20of%20Server%20Delays%2C%20Additional%20Bytes%2C%20and%20HTTP%20Chunking%20in%20Web%20Search%20Presentation.pptx
  • 15. You are losing Visitors You are losing Sales You are losing Ad-revenue You are wasting SEO/SEM/PPC budget Spending Ā£Ā£Ā£ on bandwidth and servers In Summaryā€¦ 26/09/2011 (c) Seriti Consulting, 2011 15
  • 16. 26/09/2011 Ā© Seriti Consulting 16 So how are we doing?
  • 17. 26/09/2011 Ā© Seriti Consulting 17 Largest Pageā€¦ 4,909,588 bytes
  • 18. 26/09/2011 Ā© Seriti Consulting 18 Slowest Pageā€¦ 12.436 secs
  • 19. 26/09/2011 Ā© Seriti Consulting 19 Most objectsā€¦ 227
  • 20. 26/09/2011 Ā© Seriti Consulting 20 1 was down for maintenance 1 didnā€™t re-direct from http to https ~28% had some type of error
  • 21. 26/09/2011 Ā© Seriti Consulting 21 So what can you do about it? Answer = Optimise!
  • 22. 26/09/2011 Ā© Seriti Consulting 22 80% ā€œFront Endā€ 20% ā€œBack-endā€
  • 23. Focus on the ā€œfront endā€ Optimise the interaction between the browser and the data-centre And how the browser processes the client-side objects ā€œFront End Engineeringā€ 26/09/2011 (c) Seriti Consulting, 2011 23
  • 24.
  • 25. Use a Content Delivery Network
  • 26. Add an Expires or a Cache-Control Header
  • 29. Put Scripts at the Bottom
  • 31. Make JavaScript and CSS External
  • 34. Avoid RedirectsRemove Duplicate Scripts Configure ETags Make AJAX Cacheable Use GET for AJAX Requests Reduce the Number of DOM Elements No 404s Reduce Cookie Size Use Cookie-Free Domains for Components Avoid Filters Do Not Scale Images in HTML Make favicon.ico Small & Cacheable http://developer.yahoo.com/yslow/help/#guidelines 26/09/2011 (c) Seriti Consulting, 2011 24
  • 35.
  • 39. Defer loading of JavaScript
  • 47. Minimize DNS lookupsMinimize redirects Optimize images Optimize the order of styles and scripts Parallelize downloads across hostnames Put CSS in the document head Remove unused CSS Serve resources from a consistent URL Serve scaled images Serve static content from a cookieless domain Specify a character set early Specify image dimensions Use efficient CSS selectors http://code.google.com/speed/page-speed/docs/rules_intro.html 26/09/2011 (c) Seriti Consulting, 2011 25
  • 48. 26/09/2011 Ā© Seriti Consulting 26 Informationoverload!
  • 49. 26/09/2011 Ā© Seriti Consulting 27 Where should you start?
  • 50. 26/09/2011 Ā© Seriti Consulting 28 Which optimisations are most common? Which optimisations are most important? And the survey saysā€¦
  • 51. HTTP Archive - Load Time Correlation 26/09/2011 Ā© Seriti Consulting 29 http://httparchive.org/interesting.php
  • 52. HTTP Archive - Render Time Correlation 26/09/2011 Ā© Seriti Consulting 30 http://httparchive.org/interesting.php
  • 53. Lessons learnt from consultingā€¦ 26/09/2011 Ā© Seriti Consulting 31
  • 54. 26/09/2011 Ā© Seriti Consulting 32
  • 55. 5 Important Ones Reduce Page Size (<500Kb) Enable (Gzip) Compression Reduce the number of roundtrips (<40 per pageā€¦) HTTP Cache Headers (cache long & prosper!) Structure the page (to improve render & download) CSS First Javascript last 26/09/2011 (c) Seriti Consulting, 2011 33
  • 56. Even if you apply just those 5 rulesā€¦Your page download times will drop by ~50% Low hanging fruitā€¦ 26/09/2011 (c) Seriti Consulting, 2011 34
  • 57. What about the other rules? Generally you are now measuring gains in milliseconds 26/09/2011 (c) Seriti Consulting, 2011 35 But even milliseconds can make a differenceā€¦
  • 58. Optimising JavaScript & async loading 26/09/2011 Ā© Seriti Consulting 36 Loading jqueryAsync Improving JS Execution time Delayed ad-loading Faster does not always equal more revenue!!! http://velocityconf.com/velocity2011/public/schedule/detail/18039
  • 59. ā€œReduce the number of DOM elementsā€ 26/09/2011 (c) Seriti Consulting, 2011 37 24,000 calls to a selector takes timeā€¦
  • 60. ā€œUse a content delivery networkā€ 26/09/2011 Ā© Seriti Consulting 38 You canā€™t beat the speed of lightā€¦ And if your customers are not in the UK, invest in a CDNā€¦
  • 61. 26/09/2011 Ā© Seriti Consulting 39 4.5 seconds in London becomes 12.5 seconds in Singapore
  • 62. ā€œUse http keep-alivesā€ 26/09/2011 Ā© Seriti Consulting 40 Tune your HTTP Keep-Alives! KeepAliveTimeout Value (sec) MaxKeepAlive Requests (# requests/connection) Stop forcing your customers to re-negotiate connections (even partway through a page!) Even more important for SSL! (~4x slower)
  • 63. 26/09/2011 Ā© Seriti Consulting 41 ā€œThe Bigger Pictureā€
  • 64. 26/09/2011 Ā© Seriti Consulting 42 WPO is not just for Christmasā€¦
  • 65. 26/09/2011 Ā© Seriti Consulting 43 Performance is a PROCESS NOT a PROJECT http://www.seriticonsulting.com/blog/2011/5/28/web-performance-is-not-just-for-christmashellip.html
  • 66. 26/09/2011 Ā© Seriti Consulting 44 Who should you have on your WPO project team? http://www.seriticonsulting.com/blog/2011/5/29/who-should-be-on-your-wpo-team.html
  • 67. 26/09/2011 Ā© Seriti Consulting 45 Who should you have on your WPO Process! team? http://www.seriticonsulting.com/blog/2011/5/29/who-should-be-on-your-wpo-team.html
  • 68. 26/09/2011 Ā© Seriti Consulting 46 Performance Lead / Evangelist Front-end Developer Back-end Developer Performance QA Database Administrator Systems Administrator Network Administrator Web Analytics Analyst
  • 69. 26/09/2011 Ā© Seriti Consulting 47 Economics of WPOā€¦ is automation the answer? http://www.seriticonsulting.com/blog/2011/8/11/why-i-think-automation-is-the-future-of-webperf.html Answer: Maybe?
  • 70. 26/09/2011 Ā© Seriti Consulting 48 What Else?
  • 71. 26/09/2011 Ā© Seriti Consulting 49 ā€œI often say that when you can measure what you are speaking about, and express it in numbers, you know something about it; but when you cannot express it in numbers, your knowledge is of a meagre and unsatisfactory kind; it may be the beginning of knowledge, but you have scarcely, in your thoughts, advanced to the stage of Science, whatever the matter may be.ā€ -- William Thomson,1st Baron Kelvin
  • 72. 26/09/2011 Ā© Seriti Consulting 50 Make sure you can measure your website performanceā€¦ (and that the numbers are getting better, not worse!)
  • 73. Betfairā€™s customer performance charter 26/09/2011 Ā© Seriti Consulting 51 Ā ā€We aim for 99.9% of bets placed in less than a secondĀ and our aspirational website SLA is as follows. Under peak loads, with performance measured at theĀ 95th percentile, for typical user bandwidths and a 0% error rate, our users shall experience Visual Progress (header loaded) in less than 1 second, Time to Interact with useful content within 1.5 seconds and full page loads within 3 seconds.Ā (There is room for improvement on this front as our current sports home page loads in approx. 18 seconds at the 95th percentile).Ā We will publish our aggregate stats here monthly.ā€ http://www.seriticonsulting.com/blog/2011/7/20/creating-an-performance-sla-with-your-customers-betfairrsquo.html
  • 74. 10 Seconds is too slowā€¦ (IMHO) ā€œInitial renderā€ < 750ms and be ā€œPage Completeā€ < 3 seconds ā€œ3 Second Ruleā€ 26/09/2011 (c) Seriti Consulting, 2011 52
  • 75. JavaScript timing e.g. WebTuna, GA SiteSpeed Browser plug-in e.g. HTTPwatch Custom browser e.g. Site Confidence Active Proxy timing e.g. Fiddler proxy Web Server Module e.g. APM solutions Network-level e.g. SC Organic, Atomic Labs Pion 26/09/2011 (c) Seriti Consulting, 2011 53 6 ways of measuring WebPerf
  • 76. 26/09/2011 (c) Seriti Consulting, 2011 54 Which is better? It Dependsā€¦
  • 77. Do you want to measure every visit to your website? Use a jscript tag, web server or network level solution Are you measuring as part of Dev or QA? Use a browser plug-in or proxy Do you want detailed browser metrics like render start time? Use a browser plug-in Are you a 3rd party monitoring provider? Use a custom browser variant! 26/09/2011 (c) Seriti Consulting, 2011 55 It depends onā€¦
  • 78. Active Monitoring Agent ā€œpingsā€ the web page ā€œReal-Userā€ Monitoring (RUM) ā€œlistening inā€ to real user traffic Complementary methods! Best solution is Active & Real-User Not Active or Real-Userā€¦ 26/09/2011 (c) Seriti Consulting, 2011 56 Active vs ā€œReal-Userā€
  • 79. 26/09/2011 Ā© Seriti Consulting 57 What about client-side?
  • 80. The Browser performance warsā€¦ 26/09/2011 Ā© Seriti Consulting 58 http://sixrevisions.com/infographics/performance-comparison-of-major-web-browsers/ (2009)
  • 81. Automate cross-Browser perf testing! 26/09/2011 Ā© Seriti Consulting 59
  • 82. 26/09/2011 Ā© Seriti Consulting 60 What about Mobile?
  • 83. Different operating systems 26/09/2011 Ā© Seriti Consulting 61
  • 84. Even more browsers? 26/09/2011 Ā© Seriti Consulting 62 http://www.webdevelopersnotes.com/articles/mobile-web-browsers-list.php
  • 86. 26/09/2011 Ā© Seriti Consulting 64 http://www.nytimes.com/2011/04/18/technology/18mobile.html
  • 87. Mobile Performance is location-dependent 26/09/2011 Ā© Seriti Consulting 65 http://mytests.3pmobile.com/context/?WyIyUFVDZHlWV2ErZHFISmxCSWFXRENnPT0iLCJEYnFYVVp3SEN4MD0iXQ%3D%3D
  • 88. Mobile latency (over HSDPA) 26/09/2011 Ā© Seriti Consulting 66 Max RTT = 20 seconds! http://blog.davidsingleton.org/mobiletcp
  • 89. Mobile performance rules??? Latency killsā€¦ DNS Lookups take far longer Avoid re-directs (to http://m.yourdomain.com) Reduce the number of roundtrips (<15 per page?) 26/09/2011 (c) Seriti Consulting, 2011 67
  • 90. Mobile performance rules??? ā€œIntelligent Adaptationā€ Be device & network aware! Send only what you need Send the right sized images With the minimum of script/CSS/etc 26/09/2011 (c) Seriti Consulting, 2011 68
  • 91. Mobile performance rules??? Cache Brower cache (small cache, with a different eviction algorithmā€¦) AppCache, LocalStorage, 26/09/2011 (c) Seriti Consulting, 2011 69
  • 92. 26/09/2011 Ā© Seriti Consulting 70 And thatā€™s all Iā€™ve gotā€¦(but before I goā€¦)
  • 93. 26/09/2011 Ā© Seriti Consulting 71 Velocity EU Web Performance Conference Berlin 8th/9th November (see me for a discount code!) http://velocityconf.com/velocityeu/

Editor's Notes

  1. Very Subjective!!! Perceivedā€¦ because perception is crucial (as we shall see)Action to Response ā€“ from ā€œhere to hereā€ ā€“ ie any delay experienced has a context of what the customerā€™s intention isā€¦Meaningful Response ā€“ spinners are good, but people wonā€™t wait foreverā€¦ Different for different sites ā€“ for different users (Age, Gender, emotional state (ā€œIs the train about to leave, Iā€™m running lateā€?), culture, level of experience) ā€“ at different stages in the user journey (e.g Navigation browser vs Search vs checkout) Different devices? ā€“ Mobile vs wireless vs wired?
  2. Stoyanā€™s Talk at Velocity ā€œThe Psychology of Performanceā€ http://velocityconf.com/velocity2010/public/schedule/detail/13019&quot;Satisfaction = perception minus expectation&quot; - David Maister
  3. In fact, your performance could be ā€œstressing them outā€ā€¦.
  4. This is from the Foviance/ CA Study http://www.foviance.com/what-we-think/its-official-web-stress-is-bad-for-business-2/ http://www.ca.com/Files/SupportingPieces/final_webstress_survey_report_229296.pdf
  5. The 3 response-time limits are the same today as when I wrote about them in 1993 (based on 40-year-old research by human factors pioneers): 0.1 seconds gives the feeling of instantaneous response ā€” that is, the outcome feels like it was caused by the user, not the computer. This level of responsiveness is essential to support the feeling of direct manipulation (direct manipulation is one of the key GUI techniques to increase user engagement and control ā€” for more about it, see our Principles of Interface Design seminar). 1 second keeps the user&apos;s flow of thought seamless. Users can sense a delay, and thus know the computer is generating the outcome, but they still feel in control of the overall experience and that they&apos;re moving freely rather than waiting on the computer. This degree of responsiveness is needed for good navigation. 10 seconds keeps the user&apos;s attention. From 1ā€“10 seconds, users definitely feel at the mercy of the computer and wish it was faster, but they can handle it. After 10 seconds, they start thinking about other things, making it harder to get their brains back on track once the computer finally does respond.
  6. As measured @ 2Mbps in IE8ā€¦But the actual download speed and browser are irrelevantā€¦ this is about user perceptionā€¦ so the real question is ā€œwhich customers do I want to have a good perception of my siteā€¦ā€
  7. Can anyone guess why performance matters?
  8. Front-end ā€“ between browser and data centreBack-end ā€“ generating the response on the server
  9. http://code.google.com/speed/page-speed/docs/rules_intro.html
  10. A review of 25 web performance optimisation engagements performed by Site Confidence over the last 12 months.
  11. Load time correlation from the HTTP Archive
  12. Render time correlation from the HTTP Archive
  13. Based on 25 consulting reports across a wide range of e-commerce and publishing sites
  14. 100% of the time there were too many requests100% of the time they werenā€™t using caching to its full advantage, and hence repeat visits were slower than they needed to beā€¦76% of the sites exhibited noticable slowing down during peak time of day/week~50% of the time the pages were bloated (often due to images that on average can be optimised ~15%) Frighteningly Ā¼ of the sites analysed either didnā€™t have Gzip compression enabled or it had problems e.g. failing under load!
  15. The MSN performance talk was excellent http://velocityconf.com/velocity2011/public/schedule/detail/18039Performance improvements can increase and DECREASE your bottom line so be careful!
  16. In fact this is an example where it took 30 secsItā€™s also crappy JavaScript and a poor page designā€¦
  17. 100ms latency on each request = 5 sec page slowdown on a page100ms is about the latency you would get from here to the USā€¦
  18. [Next Slideā€¦]But what about ā€œthe bigger pictureā€? Being successful in WPO is more than just ā€œimplementing the rulesā€ā€¦ so what else can we learn from the experiences of others?
  19. KeepAliveTimeoutĀ DirectiveDescription:Amount of time the server will wait for subsequent requests on a persistent connectionSyntax:KeepAliveTimeoutĀ secondsDefault:KeepAliveTimeout 5MaxKeepAliveRequestsĀ DirectiveDefault:MaxKeepAliveRequests 100 MaxKeepAliveRequestsĀ directive limits the number of requests allowed per connection whenĀ KeepAliveĀ is on. If it is set toĀ 0, unlimited requests will be allowed. We recommend that this setting be kept to a high value for maximum server performance.For example:MaxKeepAliveRequests 500
  20. Itā€™s about measurementā€¦
  21. WPO Performance isnā€™t just for Christmasā€¦Itā€™s an on-going effortā€¦
  22. Just like an ITIL implementationā€¦
  23. So you need these 8 skills (at a minimum) contributing to your web performance processā€¦But if you are a small startup these all might be one personā€¦Performance Lead / EvangelistFront-end DeveloperBack-end DeveloperPerformance QADatabase AdministratorSystems AdministratorNetwork AdministratorWeb Analytics Analyst
  24. So a team like that, even part-time, is going to cost you moneyā€¦ā€¦ but there are ways to automate it with both commercial (e.g. Aptimize) and open-source (Googleā€™s Mod_pagespeed)What works for you depends on the size and scale of your website, your available resources, etc. OpexvsCapexā€¦ Probably a hybrid approach is best ā€“ automate where itā€™s cost-effective, hand-tune the important bits.
  25. What else? Letā€™s hear from Lord Kelvinā€¦
  26. http://www.webperformancematters.com/journal/2007/5/7/the-importance-of-measurements.html
  27. An dyou can use those measurements as a differentiator in your business!!! ā€“ See Betfairā€™s Performance Charterā€¦This doesnā€™t have to be esoteric backroom stuff!
  28. Donā€™t be afraid to make some noise about it!!! Use it as a BHAG and as a point of differentiation to your competitors!
  29. Just a reminderā€¦. For those that were paying attention earlier! So how can we measure web performanceā€¦
  30. There are basically 6 techniques used to measure web performance:Each one has itā€™s pros and consā€¦ easy of use, what it can measure, cost etc
  31. Operations has different needs to Marketing or User Experience team
  32. Notethat active monitoring can use either an synthetic agent or a ā€œreal browserā€Passive ā€“ the signal to noise ratio is huge, just like passive sonar. Trying to detect the signal from the clutter is very hardā€¦ Anyway, enough about all the WPO projects, what about the
  33. Itā€™s about measurementā€¦
  34. This is from 2009 so itā€™s out of date BUT it makes the point that ā€œwhich measurement do you chooseā€http://sixrevisions.com/infographics/performance-comparison-of-major-web-browsers/Aug 2011 data here - http://www.tomshardware.com/reviews/web-browser-performance-standard-html5,3013.html
  35. Itā€™s about measurementā€¦
  36. And if you throw in CyanogenMod you can get even better performanceā€¦
  37. Whilst its growing fastā€¦ From Souders preso - http://www.slideshare.net/souders/high-performance-mobile-sfsv-web-perf
  38. From Souders preso - http://www.slideshare.net/souders/high-performance-mobile-sfsv-web-perfObviously this is heavily influenced by sectorā€¦e.g. the Adactus guys can tell you about Pizza Hut who do very nicely on mobile!Ditto for music, ringtones etc.
  39. I was on the Thames Clipper on my way back from the O2 after a concert. So I ran some automated testing and this graphs my resultsā€¦ on the Velocity Conference home pageā€¦Min9.275Max156.520Average32.859Median12.071Std Deviation45.691
  40. Network latency varies enormouslyā€¦. What can we see here?The connection is relatively good at sending and receiving data.Ā The green crosses represent packets that were actually lost which only happened for 75 of 1000.There are some crazy-high round trip times.Ā The minimum round trip time was 107ms (which would put my home cable connection to shame) and even the median is pretty awesome at 239ms but the maximum was a whopping 20226 ms - that&apos;s more than 20 seconds!
  41. But before I goā€¦ two quick plugsā€¦