Design for Performance

28
Designing for Performance

description

My deck from Warm Gun 2010 (October 8th in SF). Mostly client-side performance, with a touch of server side thrown in for flavor. Enjoy!

Transcript of Design for Performance

Page 1: Design for Performance

Designing for Performance

Page 2: Design for Performance

Why bother?

http://assets.en.oreilly.com/1/event/29/Keynote%20Presentation%202.pdf

Page 3: Design for Performance
Page 4: Design for Performance

The PerformanceBible

Page 5: Design for Performance
Page 6: Design for Performance

Rule #1: Make Fewer Http Requests

Page 7: Design for Performance
Page 8: Design for Performance
Page 9: Design for Performance
Page 10: Design for Performance

Un-Spriteable images

Page 11: Design for Performance
Page 12: Design for Performance

login.js

global.js

combined.js

->

Development Production

->

Page 13: Design for Performance

External JavaScript & CSS

Page 14: Design for Performance

2) Use a CDN

Page 15: Design for Performance

3) Use Expires Headers

Page 16: Design for Performance

Cache-Control: max-age=315360000

Page 17: Design for Performance

www.slideshare.net/combined.css?v=123456

www.slideshare.net/combined.css?v=435678

<generate new version of combined.css, since one of the css files changed>

Page 18: Design for Performance

External CSS & Javascript WITHOUT Far-future expires

headers

Page 19: Design for Performance

External Images without far-future expires headers

Page 20: Design for Performance

Measuring Client-Side Performance

Page 21: Design for Performance

Server-Side Performance

Page 22: Design for Performance

Understand where your bottlenecks are

Page 23: Design for Performance

memcached

Page 24: Design for Performance
Page 25: Design for Performance
Page 26: Design for Performance

Be Lazy

Page 27: Design for Performance

Think Ahead!

Page 28: Design for Performance

Building performance into your culture