There’s a number of performance rules and best practices that every web developer should know. Some of them are really simple and straightforward – like turning on compression for example. It’s so simple it’s a sin not to do it. Actually someone from Google search (Kyle Scholz or Yaron Friedman) said that every extra byte you send over the wire is a disservice to your user. I loved this way of putting it.

BTW, I myself am guilty of not turning gzip on this blog, I also don’t have a favicon which causes a bunch of 404s every hour, and there’s other mistakes. But that’s intentional – I want to show that everyone has room for improvement, no matter how big or small a site, no matter if there’s a budget for CDN or not. Fast and pleasurable experiences are not reserved for big sites with millions to invest. Many of the performance optimizations are straightforward and within every developer or sysadmin’s reach.

Online resources

The place to start learning about performance best practices is the performance section of the Yahoo! Developer Network site. The list of best practices may look overwhelmingly long, but you don’t have to do everything at once, pick one low hanging fruit, fix, improve, rinse and repeat.

The description of Yahoo!’s best practices may be a little high level, so I’ve written some time ago an article on SitePoint that aims to present some of those practices with more concrete steps. For example how to configure gzip when you deal with shared hosting providers that run different versions of PHP and Apache and with different set of restrictions. (Some ISPs are really overly restrictive. If yours is – time to change them. Here’s a list questions that your ISP better answer YES to)

Another great place to read up on performance best practices are these two sections in the Google code site – PageSpeed best practices and there performance articles.

Books

If you prefer to cuddle with a good book, O’Reilly has a pretty decent collection of performance titles.



  • High Performance Websites (a.k.a. The Bible ;) ) by Steve Souders is the place to start. It covers the first 13 of Yahoo’s best practices but with much more detail than the Yahoo! Developer site. Concise and to the point, highly recommended.
  • Even Faster Web Sites is the second book by Steve Souders and it’s probably a little more advanced than the first. I am also a contributor to this book, I wrote the chapter on image optimization together with Nicole Sullivan. Being a co-author prevents me from gushing this book too much without sounding like an infomercial dude. But hey, just look at some of the other contributors – Douglas Crockford, Nicholas Zakas, Dion Almaer and Ben Galbraith from Ajaxian…
  • High-Performance JavaScript is a new title, still not published, where I also contributed a chapter. The book’s author is Nicholas Zakas with contributing authors including Julien Lecomte (of YUICompressor fame), Matt Sweeney (YUI3 architect), Ross Hermes (also author of “Pro JavaScript Design Patterns” and Flickr front-end). With an all-star team of contributors and reviewers, you can expect this to be a valuable read.
  • Website Optimization by Andrew King is half about performance and half about SEO and conversions. But SEO is also good. Andrew has a very scientific and diligent approach and that’s refreshing to see when it comes to SEO.

Community

There’s two places to hang out online and ask performance questions and learn from the community:

Blogs

And then there’s blogs. There’s quite a few of them.

I tried to assemble today a nice list of performance blogs (and I’m sure I’ve missed some). Shoved them into a Yahoo! Pipe and did a quick UI with JavaScript to show the posts tail from all the blogs.

So, ladies and gentlemen… announcing…

Planet “Performance”

It’s available here – http://www.perfplanet.com/. This site shows the last 20 posts from all the performance blogs I managed to collect.

If you’re not much of a browse type of person, the RSS feed for the planet is right here.

If you see something broken on the site, please let me know.

Also if you know of (or run) a blog that talks about performance from time to time, please let me know too so I can add it to the planet.

Thank you

And happy reading!

ABOUT THE AUTHOR

Stoyan (@stoyanstefanov) is a frontend engineer, writer ("JavaScript Patterns", "Object-Oriented JavaScript"), speaker (JSConf, Velocity, Fronteers), toolmaker (Smush.it, YSlow 2.0) and a guitar hero wannabe.

5 Responses to “Required reading”

  1. Ionut Popa

    Nice roundup! Thanks… this is a bookmark!

  2. Eric Goldsmith

    The perfplanet aggregator site is a great idea, Stoyan.

  3. Billy Hoffman

    Stoyan,

    Very nice post and I love the idea of blog posting through Advent! I would say that the performance information in King’s “Website Optimization” is largely a repeat of content in Souders’ “High Performance Web Sites” though there are a few nugget of new info.

    There are some other books that contain web performance advice that I have not seen published in Steve’s books. I wrote a post over on Zoompf’s Lickity Split blog reviewing a few more including “Web Caching” by Duane Wessels and Crockford’s “JavaScript: The Good Parts.”

    http://zoompf.com/blog/2009/12/web-performance-book-recommendations/

    Enjoy!

  4. Stoyan

    Thank you guys!

    Billy, added your blog to the planet. btw, the “dc:creator” in your feed is null, you can fix this so it shows up as “author” in the planet ;)

  5. JP

    Nice job with the planet performance aggregator!

Leave a Reply

You can use these tags: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>
And here's a tool to convert HTML entities