Page Performance
- 10. • Bandwidth is NOT the only bottleneck to
website performance
• Improvements to performance = increased
traffic + revenue
- 12. PdC
homepage: 45 requests, 802.8 KB, 2.08s
login page: 29 requests, 860.9 KB, 1.87s
landing page: 100 requests, 329.2 KB, 4.67s
- 13. eBGT
Hyatt Buy MV:50 requests, 544.1 KB, 2.8s
JetBlue Buy MV: 61 requests, 642.1 KB, 4.83s
- 19. Homepage Requests Payload Load
Corp 20 960K 1.71s
eBGT 50 544K 2.8s
PdC 45 802K 2.1s
Amazon 45 288K 1.63s
Apple 43 1.1M 1.27s
Facebook 15 162K 0.772s
Google 8 157K 0.672s
- 33. Google Page Speed
• Plugin for FF and Chrome
• Analyzes and grades page
• Checks against best practices
- 34. Google Page Speed
• Plugin for FF and Chrome
• Analyzes and grades page
• Checks against best practices
• Provides recommendations
- 37. Site Score (100)
Corp (AA) 74
PdC 63
eBGT (Hyatt) 83
Apple 80
Amazon 93
Facebook 98
Google 100
- 40. Parallel loading
• According to the http 1.1 spec, a single-user
client SHOULD NOT maintain more than 2
connections with a single hostname.
- 48. Minimize http requests
• Combine js into a single file
• Combine CSS into a single file
• Combine images into a sprite
- 62. Parallel loading
• According to the http 1.1 spec, a single-user
client SHOULD NOT maintain more than 2
connections with a single hostname.
- 66. • dynamic content from buy.points.com
• images from static1.points.com and
static2.points.com
- 67. • dynamic content from buy.points.com
• images from static1.points.com and
static2.points.com
• in IE6, 6 parallel downloads
- 68. • dynamic content from buy.points.com
• images from static1.points.com and
static2.points.com
• in IE6, 6 parallel downloads
• in FF5, 18 parallel downloads
- 69. • dynamic content from buy.points.com
• images from static1.points.com and
static2.points.com
• in IE6, 6 parallel downloads
• in FF5, 18 parallel downloads
• FTW
- 75. Caching 101
• Homepage, first visit: Must request all static
resources.
• Images/CSS/JS/etc stored in browser cache
- 76. Caching 101
• Homepage, first visit: Must request all static
resources.
• Images/CSS/JS/etc stored in browser cache
• Subsequent visits: Browser (somehow)
determines whether to reuse cached version
or re-request asset
- 77. Conditional GET
• browser: "I've got this asset in my cache, is it
the most up-to-date?!"
• server: "yup, it's good (304)"
• Or
• server: "no, here's a more up-to-date version"
- 80. Gotcha
• If none of these response headers are set, the
browser must determine if it can use the
cached version
- 81. Gotcha
• If none of these response headers are set, the
browser must determine if it can use the
cached version
• Unnecessarily re-requesting static assets
makes website slower
- 82. Gotcha
• If none of these response headers are set, the
browser must determine if it can use the
cached version
• Unnecessarily re-requesting static assets
makes website slower
• Conditional GETs still take up http requests
- 109. No inline anything
• No inline styles
• No inline scripts
• blocks progressive rendering
• blocks parallel downloads
- 110. LABjs
• Framework for asynchronous load of
javascript
• Able to load js files in parallel
• Ensures proper execution order
- 114. LABjs in action
• Onboarding for IcelandAir
• Lots of javascript
• Their homepage: 32 requests, 795.6 KB,
12.42s
- 115. LABjs in action
• Onboarding for IcelandAir
• Lots of javascript
• Their homepage: 32 requests, 795.6 KB,
12.42s
• eBGT Buy MV: 30 requests, 721.4 KB, 2.69s
- 125. Reduce DNS lookups
• ajax.googleapis.com
• buy.points.com
• images1.points.com
• images2.points.com
- 126. Reduce DNS lookups
• ajax.googleapis.com
• buy.points.com
• images1.points.com
• images2.points.com
• s3.aws.amazon.com
- 128. Resources
• Google page speed :
• code.google.com/speed/page-speed/
• Yahoo exceptional performance
• developer.yahoo.com/performance/
• Steve Souders blog
• stevesouders.com/blog/
• LABjs
• labjs.com
Editor's Notes
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n
- \n\n