Over of Web performance optimisation (WPO) as well as some results from 25 web performance site analysis. Some information on Mobile web performance as well.
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ā
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
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
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
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
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
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ā¦
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
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ā
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
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?
Stoyanās Talk at Velocity āThe Psychology of Performanceā http://velocityconf.com/velocity2010/public/schedule/detail/13019"Satisfaction = perception minus expectation" - David Maister
In fact, your performance could be āstressing them outāā¦.
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
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'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're moving freely rather than waiting on the computer. This degree of responsiveness is needed for good navigation. 10 seconds keeps the user'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.
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ā¦ā
Can anyone guess why performance matters?
Front-end ā between browser and data centreBack-end ā generating the response on the server
A review of 25 web performance optimisation engagements performed by Site Confidence over the last 12 months.
Load time correlation from the HTTP Archive
Render time correlation from the HTTP Archive
Based on 25 consulting reports across a wide range of e-commerce and publishing sites
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!
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!
In fact this is an example where it took 30 secsItās also crappy JavaScript and a poor page designā¦
100ms latency on each request = 5 sec page slowdown on a page100ms is about the latency you would get from here to the USā¦
[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?
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
Itās about measurementā¦
WPO Performance isnāt just for Christmasā¦Itās an on-going effortā¦
Just like an ITIL implementationā¦
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
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.
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!
Donāt be afraid to make some noise about it!!! Use it as a BHAG and as a point of differentiation to your competitors!
Just a reminderā¦. For those that were paying attention earlier! So how can we measure web performanceā¦
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
Operations has different needs to Marketing or User Experience team
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
Itās about measurementā¦
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
Itās about measurementā¦
And if you throw in CyanogenMod you can get even better performanceā¦
Whilst its growing fastā¦ From Souders preso - http://www.slideshare.net/souders/high-performance-mobile-sfsv-web-perf
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.
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
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's more than 20 seconds!