45
in search of speed http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer.

Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

Embed Size (px)

Citation preview

Page 1: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

in

search

of

speed

http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip

Disclaimer: This content does not necessarily reflect the opinions of my employer.

Page 2: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

Google, Bing biz metrics: http://en.oreilly.com/velocity2009/public/schedule/detail/8523

Yahoo! biz metrics: http://www.slideshare.net/stoyan/yslow-20-presentation

Shopzilla biz metrics: http://en.oreilly.com/velocity2009/public/schedule/detail/7709

Netflix outbound traffic: http://en.oreilly.com/velocity2008/public/schedule/detail/3632

Google, Bing charts: http://www.watchingwebsites.com/archives/proof-that-speeding-up-websites-improves-online-business

Aptimize WAX: http://blogs.msdn.com/sharepoint/archive/2009/09/28/how-we-did-it-speeding-up-sharepoint-microsoft-com.aspx

Strangeloop Networks: http://www.watchingwebsites.com/archives/proof-that-speeding-up-websites-improves-online-business

SproutCore: http://blog.sproutcore.com/post/196959232/how-sproutcore-makes-your-app-run-faster

HTTP Archive Format: http://www.stevesouders.com/blog/2009/10/19/http-archive-specification-firebug-and-httpwatch/

@font-face: http://www.stevesouders.com/blog/2009/10/13/font-face-and-performance/

Page 3: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer
Page 4: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

17% 83%

iGoogle, primed cache

the importance of frontend performance

9% 91%

iGoogle, empty cache

Page 5: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

14 RULES

1. MAKE FEWER HTTP REQUESTS

2. USE A CDN

3. ADD AN EXPIRES HEADER

4. GZIP COMPONENTS

5. PUT STYLESHEETS AT THE TOP

6. PUT SCRIPTS AT THE BOTTOM

7. AVOID CSS EXPRESSIONS

8. MAKE JS AND CSS EXTERNAL

9. REDUCE DNS LOOKUPS

10.MINIFY JS

11.AVOID REDIRECTS

12.REMOVE DUPLICATE SCRIPTS

13.CONFIGURE ETAGS

14.MAKE AJAX CACHEABLE

Page 6: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

Even Faster Web SitesSplitting the initial payload

Loading scripts without blocking

Coupling asynchronous scripts

Positioning inline scripts

Sharding dominant domains

Flushing the document early

Using iframes sparingly

Simplifying CSS Selectors

Understanding Ajax performance..........Doug Crockford

Creating responsive web apps............Ben Galbraith, Dion Almaer

Writing efficient JavaScript.............Nicholas Zakas

Scaling with Comet.....................Dylan Schiemann

Going beyond gzipping...............Tony Gentilcore

Optimizing images...................Stoyan Stefanov, Nicole Sullivan

Page 7: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

Google

+ 0.4 sec

searches 0.6%

Page 8: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

Yahoo!

+ 0.4 sec

traffic 5-9%

Page 9: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

Bing

+2 sec

revenue 4.3%

Page 10: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

Shopzilla

-5 sec

revenue

X%

hw Y%

Page 11: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

Netflix

outbound bandwidth

43%

Page 12: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer
Page 13: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

fast performance =

better user experience

more traffic

more revenue

reduced costs

Page 14: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

so...

why don't more people do it?

Page 15: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

it's

too

hard!

Page 16: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer
Page 17: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

the hard is what makes it greatif it wasn't hard everyone would

do it

Page 18: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

this year's theme:

Fast by Default

Page 19: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

Aptimize WAX

concatenate scripts

concatenate stylesheets

sprites, data: URIs

far future Expires

minify JS and CSS

automatically in real time

Page 20: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

WAX on:

http://sharepoint.microsoft.com

# requests empty: 96 35

# requests primed: 50 9

scripts 7, stylesheets 12, images 25

pages faster: 46-64% empty, 15-53% primed

Page 21: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

Strangeloop Networks

"typical ecommerce site"

pages per visit: 11 16

time on site: 24 30 mins

conversions: 16%

order value: 5.5%

Page 22: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

Rails

far future Expires

concatenate scripts

domain sharding

configure ETags

pipeline: async scripts, spriting, minification,

flushing

Page 23: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

SproutCore

concatenate scripts

concatenate stylesheets

versioning (future Expires)

stylesheets at the top

scripts at the bottom

minify JS & CSS

remove dupe scripts

Page 24: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

Why do some sites feel slow

?

Page 25: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

AOL

Page 26: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

Twitter

Page 27: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

Best Buy

Page 28: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

CNN

Page 29: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

(lack of)

Progressive Rendering

Page 31: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

WebPagetest.org

VA, UK, NZ

IE7, IE8

Dial, DSL, FIOS

empty, empty & primed

quad core

Pat Meenan (AOL)

Page 33: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

Shopping

Page 34: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

Sports

Page 35: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

Progressive Enhancement

deliver HTML

defer JS

avoid DOM

decorate later

Page 36: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

Progressive Enhancement

Progressive Rendering

Page 37: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

recent news

Page 38: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

finds BG images

groups into sprites

generates sprite

recomputes BG pos

injects into page

http://spriteme.org/

Page 39: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

Browserscope

Page 40: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

HTTP Archive Format

(HAR)

Page 41: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

@font-face

blocks rendering in IE if below SCRIPT tag

declare above all SCRIPTs

Page 42: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

focus on the frontend

run YSlow

and Page Speed!

progressive enhancement progressive rendering

takeaways

Page 43: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

SPEED is the next competitive advantage

use it

...before someone else does

Page 44: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

Steve Souders

[email protected]

http://stevesouders.com/docs/speedgeeks-20091026.pptx & .zip

Page 45: Http://stevesouders.com/docs/speedgeeks-20091026.pptx &.zip Disclaimer: This content does not necessarily reflect the opinions of my employer

Google, Bing biz metrics: http://en.oreilly.com/velocity2009/public/schedule/detail/8523

Yahoo! biz metrics: http://www.slideshare.net/stoyan/yslow-20-presentation

Shopzilla biz metrics: http://en.oreilly.com/velocity2009/public/schedule/detail/7709

Netflix outbound traffic: http://en.oreilly.com/velocity2008/public/schedule/detail/3632

Google, Bing charts: http://www.watchingwebsites.com/archives/proof-that-speeding-up-websites-improves-online-business

Aptimize WAX: http://blogs.msdn.com/sharepoint/archive/2009/09/28/how-we-did-it-speeding-up-sharepoint-microsoft-com.aspx

Strangeloop Networks: http://www.watchingwebsites.com/archives/proof-that-speeding-up-websites-improves-online-business

SproutCore: http://blog.sproutcore.com/post/196959232/how-sproutcore-makes-your-app-run-faster

HTTP Archive Format: http://www.stevesouders.com/blog/2009/10/19/http-archive-specification-firebug-and-httpwatch/

@font-face: http://www.stevesouders.com/blog/2009/10/13/font-face-and-performance/