Ian White from Neustar – Performance Optimization & Build Process
June 25, 2012Ian White from Neustar gave a talk on Dev, Prod & Developer environments & how to organize around the goal of making web performance better without making the development lifecycle suck.
Some notes:
- Web optimization
- Organize CSS&JS
- Multiple Domains
- Gzip compression
- Resource caching
- Far-future expiry
- Minification
- Image optimization (not a lot of automated tools out there)
- CSS spriting
- CI tools should take care of optimization, but if you put it on a different machine, they can’t test their optimizations
- Use mod_pagespeed
- Really good for server-generated content
- Take look at HTML being sent from the server and then does a whole ton of optimizations on that. Handles multiple domains behind load balancers.
- Works great on WordPress & other such stuff. Not so good with Client-side stuff
- Making dev & ops work well together:
- parameterize environments
- Make it so when a dev changes something, it changes all environments or can affect all environments
- For static resources:
- Try nginx or lighttpd
- Simple / fast / low overhead / gzip & caching
- Have it go in front of Apache & reverse-proxy back for some or go direct to files for others
- Far-future expires:
- consider using MD5 as the version
- Only issue is lack of human readability & tough to see if one is using the right version for that build.
- Image Opt
- JPEG Mini or Smooshit from Yahoo
- PNGcrush, others
- Look for “7 image optimiation mistakes”
- See http://developer.apple.com/library/ios/#documentation/2DDrawing/Conceptual/DrawingPrintingiOS/SupportingHiResScreens/SupportingHiResScreens.html for Generating 2X res images for apple retina displays
- Use Glue (github.com/jorgebastida/glue) for Sprite Manufacturing
More text