Transcript
Page 1: Steve Souders souders@google.com  High Performance Web Sites Essential Knowledge for Frontend Engineers

Steve [email protected]://stevesouders.com/

High Performance Web Sites

Essential Knowledge for Frontend Engineers

Page 2: Steve Souders souders@google.com  High Performance Web Sites Essential Knowledge for Frontend Engineers

Speed Matters

users notice

pride in our work

engineering best practices

Google: +500 ms -20% traffic*

Amazon: +100 ms -1% sales*

*http://home.blarg.net/~glinden/StanfordDataMining.2006-11-29.ppt

Page 3: Steve Souders souders@google.com  High Performance Web Sites Essential Knowledge for Frontend Engineers

The Importance of Frontend Performance

Backend:

5%

Frontend:

95%

Even primed cache, frontend = 88%

Page 4: Steve Souders souders@google.com  High Performance Web Sites Essential Knowledge for Frontend Engineers

Time Spent on the FrontendEmpty Cache

Primed Cache

amazon.com 82% 86%

aol.com 94% 86%

cnn.com 81% 92%

ebay.com 98% 92%

google.com 86% 64%

msn.com 97% 95%

myspace.com 96% 86%

wikipedia.org 80% 88%

yahoo.com 95% 88%

youtube.com 97% 95%

Page 5: Steve Souders souders@google.com  High Performance Web Sites Essential Knowledge for Frontend Engineers

The Performance Golden Rule

80-90% of the end-user response time is spent on the frontend. Start there.

• Greater potential for improvement

• Simpler

• Proven to work

Page 6: Steve Souders souders@google.com  High Performance Web Sites Essential Knowledge for Frontend Engineers

14 Rules

Page 7: Steve Souders souders@google.com  High Performance Web Sites Essential Knowledge for Frontend Engineers

14 Rules1. Make fewer HTTP

requests2. Use a CDN3. Add an Expires header4. Gzip components5. Put stylesheets at the top6. Put scripts at the bottom7. Avoid CSS expressions8. Make JS and CSS external9. Reduce DNS lookups10.Minify JS11.Avoid redirects12.Remove duplicate scripts13.Configure ETags14.Make AJAX cacheable

Page 8: Steve Souders souders@google.com  High Performance Web Sites Essential Knowledge for Frontend Engineers

http://developer.yahoo.com/yslow/

performance lint tool

grades web pages for each rule

YSlow

Page 9: Steve Souders souders@google.com  High Performance Web Sites Essential Knowledge for Frontend Engineers

One-liners

Rule 3: Add an Expires HeaderExpiresDefault "access plus 10 years"

Rule 4: Gzip ComponentsAddOutputFilterByType DEFLATE text/html text/css application/x-javascript

Rule 5: Put Stylesheets at the TopRule 6: Put Scripts at the Bottom

see Amazon, MySpace

Rule 13: Configure EtagsFileETags none

Page 10: Steve Souders souders@google.com  High Performance Web Sites Essential Knowledge for Frontend Engineers

Takeaways

focus on the frontend

it's time for F2Es to shine

harvest the low-hanging fruit

small investment up front keeps on giving

you do control user response times

LOFNO – be an advocate for your users

Page 11: Steve Souders souders@google.com  High Performance Web Sites Essential Knowledge for Frontend Engineers

Steve [email protected]

Page 12: Steve Souders souders@google.com  High Performance Web Sites Essential Knowledge for Frontend Engineers

CC Images Used"Need for Speed" by Amnemona:

http://www.flickr.com/photos/marinacvinhal/379111290/"Max speed 15kmh" by xxxtoff:

http://www.flickr.com/photos/xxxtoff/219781763/"Gold Coins" by Technicolor:

http://flickr.com/photos/technicolor/44988148/"Absolutely Nothing is Allowed Here" by Vicki & Chuck Rogers:

http://www.flickr.com/photos/two-wrongs/205467442/"thank you" by nj dodge:

http://flickr.com/photos/nj_dodge/187190601/


Top Related