design 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
![Page 1: Design for Performance](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e6a9b1a28ab78028b459b/html5/thumbnails/1.jpg)
Designing for Performance
![Page 2: Design for Performance](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e6a9b1a28ab78028b459b/html5/thumbnails/2.jpg)
Why bother?
http://assets.en.oreilly.com/1/event/29/Keynote%20Presentation%202.pdf
![Page 3: Design for Performance](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e6a9b1a28ab78028b459b/html5/thumbnails/3.jpg)
![Page 4: Design for Performance](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e6a9b1a28ab78028b459b/html5/thumbnails/4.jpg)
The PerformanceBible
![Page 5: Design for Performance](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e6a9b1a28ab78028b459b/html5/thumbnails/5.jpg)
![Page 6: Design for Performance](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e6a9b1a28ab78028b459b/html5/thumbnails/6.jpg)
Rule #1: Make Fewer Http Requests
![Page 7: Design for Performance](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e6a9b1a28ab78028b459b/html5/thumbnails/7.jpg)
![Page 8: Design for Performance](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e6a9b1a28ab78028b459b/html5/thumbnails/8.jpg)
![Page 9: Design for Performance](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e6a9b1a28ab78028b459b/html5/thumbnails/9.jpg)
![Page 10: Design for Performance](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e6a9b1a28ab78028b459b/html5/thumbnails/10.jpg)
Un-Spriteable images
![Page 11: Design for Performance](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e6a9b1a28ab78028b459b/html5/thumbnails/11.jpg)
![Page 12: Design for Performance](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e6a9b1a28ab78028b459b/html5/thumbnails/12.jpg)
login.js
global.js
combined.js
->
Development Production
->
![Page 13: Design for Performance](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e6a9b1a28ab78028b459b/html5/thumbnails/13.jpg)
External JavaScript & CSS
![Page 14: Design for Performance](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e6a9b1a28ab78028b459b/html5/thumbnails/14.jpg)
2) Use a CDN
![Page 15: Design for Performance](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e6a9b1a28ab78028b459b/html5/thumbnails/15.jpg)
3) Use Expires Headers
![Page 16: Design for Performance](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e6a9b1a28ab78028b459b/html5/thumbnails/16.jpg)
Cache-Control: max-age=315360000
![Page 17: Design for Performance](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e6a9b1a28ab78028b459b/html5/thumbnails/17.jpg)
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](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e6a9b1a28ab78028b459b/html5/thumbnails/18.jpg)
External CSS & Javascript WITHOUT Far-future expires
headers
![Page 19: Design for Performance](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e6a9b1a28ab78028b459b/html5/thumbnails/19.jpg)
External Images without far-future expires headers
![Page 20: Design for Performance](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e6a9b1a28ab78028b459b/html5/thumbnails/20.jpg)
Measuring Client-Side Performance
![Page 21: Design for Performance](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e6a9b1a28ab78028b459b/html5/thumbnails/21.jpg)
Server-Side Performance
![Page 22: Design for Performance](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e6a9b1a28ab78028b459b/html5/thumbnails/22.jpg)
Understand where your bottlenecks are
![Page 23: Design for Performance](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e6a9b1a28ab78028b459b/html5/thumbnails/23.jpg)
memcached
![Page 24: Design for Performance](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e6a9b1a28ab78028b459b/html5/thumbnails/24.jpg)
![Page 25: Design for Performance](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e6a9b1a28ab78028b459b/html5/thumbnails/25.jpg)
![Page 26: Design for Performance](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e6a9b1a28ab78028b459b/html5/thumbnails/26.jpg)
Be Lazy
![Page 27: Design for Performance](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e6a9b1a28ab78028b459b/html5/thumbnails/27.jpg)
Think Ahead!
![Page 28: Design for Performance](https://reader033.vdocuments.net/reader033/viewer/2022060119/558e6a9b1a28ab78028b459b/html5/thumbnails/28.jpg)
Building performance into your culture