High Speed Web Sites At Scale


Published on

Published in: Technology
  • Be the first to comment

  • Be the first to like this

No Downloads
Total Views
On Slideshare
From Embeds
Number of Embeds
Embeds 0
No embeds

No notes for slide
  • And watch out for Etags! On Apache and IIS they are unique by default to the server serving the initial resource, so subsequent requests to another node in the cluster will bust the cache.
  • High Speed Web Sites At Scale

    1. 1. High Speed Web Sites At Scale<br />Buddy Brewer<br />
    2. 2. About Buddy<br />I build web performance monitoring products and help companies make their sites faster<br />From San Francisco Bay Area, California<br />Co-Founder Log-Normal, Inc.<br />http://lognormal.com<br />@bbrewer<br />
    3. 3. Does speed matter?<br />How fast is my site?<br />What can I do about it?<br />
    4. 4. Does speed matter?<br />How fast is my site?<br />What can I do about it?<br />
    5. 5.
    6. 6. In 2006, the average online shopper expected a web page to load in 4 seconds. Today, that same shopper expects your page to load in 2 seconds or less. (Forrester Consulting)<br />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)<br />One e-commerce company found that every 100ms delay cost them 1% of sales. (Amazon.com)<br />
    7. 7. Does speed matter?<br />How fast is my site?<br />What can I do about it?<br />
    8. 8. Synthetic monitoring<br />
    9. 9. Synthetic: Benefits<br /><ul><li>Object-level response times
    10. 10. Visibility into third-party performance
    11. 11. Visibility into HTTP headers (caching, compression, etc)
    12. 12. Can test parts of your site that aren’t frequented by users
    13. 13. Can get back-end performance for older browsers</li></li></ul><li>Synthetic: Drawbacks<br /><ul><li> Not representative of real users
    14. 14. Limited coverage of popular browsers
    15. 15. Limited insight into mobile devices and connections
    16. 16. Sometimes limited geographic coverage
    17. 17. Must know in advance what parts of your site you want to analyze
    18. 18. Results can be “gamed” by clever third party vendors</li></li></ul><li>Real User Monitoring<br />http://www.flickr.com/photos/criminalintent/97181432/<br />
    19. 19. Real User Monitoring: Benefits<br /><ul><li> Represents the “truth” – by measuring real visitors to your site
    20. 20. You automatically measure the parts of your site that matter to users
    21. 21. Total browser coverage (as long as they support Javascript)
    22. 22. Works equally well on today’s mobile and desktop web browsers
    23. 23. Difficult for third party vendors to game
    24. 24. Can measure performance in the context of business goals (conversions, etc)</li></li></ul><li>Navigation Timing<br />https://dvcs.w3.org/hg/webperf/raw-file/tip/specs/NavigationTiming/Overview.html<br />
    25. 25. Real User Monitoring: Drawbacks<br /><ul><li> No object-level response times (yet)
    26. 26. You have to add code to your site
    27. 27. User privacy concerns must be navigated
    28. 28. No back-end performance data for legacy browsers</li></li></ul><li>Resources<br /><ul><li> Free / open source monitoring tools
    29. 29. Synthetic: WebPageTest (http://www.webpagetest.org)
    30. 30. Real user: boomerang.js (http://github.com/yahoo/boomerang)
    31. 31. Plenty of commercial options too</li></li></ul><li>Does speed matter?<br />How fast is my site?<br />What can I do about it?<br />
    32. 32. Use the browser cache<br />HTTP 1.0 – Expires: <br />HTTP 1.1 - Cache-Control: max-age<br />Watch out for Etags!<br />Source: http://httparchive.org/interesting.php#max-age<br />
    33. 33. Compress, shed weight, limit requests<br />http://httparchive.org/interesting.php#onLoad<br />
    34. 34. Compress, shed weight, limit requests<br /><ul><li> Make sure Gzip is turned on!
    35. 35. Consider explicitly testing for Gzip support
    36. 36. Google found 15% of browsers that support Gzip don’t say so
    37. 37. Optimize images (JPEG metadata, colors/channels, smush.it)
    38. 38. CSS sprites, JS minify, combine stylesheets and JS files where possible</li></ul>http://httparchive.org/interesting.php#onLoad<br />
    39. 39. Watch out for third parties<br />http://httparchive.org/trends.php#numDomains<br />
    40. 40. Consider using a content optimizer<br />
    41. 41.
    42. 42. Summary<br /><ul><li> Make end user performance a priority
    43. 43. Measure your site constantly
    44. 44. Treat performance like a feature</li></li></ul><li>Большоеспасибо<br />http://lognormal.com<br />@bbrewer<br />
    1. A particular slide catching your eye?

      Clipping is a handy way to collect important slides you want to go back to later.