Archive for May 8th, 2008

08th May 2008

High Performance Web Sites

One of the books I picked up recently is

High Performance Web Sites : Essential Knowledge for Frontend Engineers by Steve Souders

Despite its small size, it is full of interesting suggestions for making web sites load faster. On page 5 he puts forth the Performance Golden Rule:

“Only 10 to 20 % of the end user response time is spent downloading the HTML document. The other  80 to 90 %  is spent downloading  all of the components for the page.”

Now most of the discussions I have had around the office center around how to optimize the back end (e.g., improving query performance, what PHP functions are faster than others). This book only mentions these subjects in regards to how over emphasized they tend to be (not implying they are not important, but tend to over shadow front end optimization).

The book goes on to outline 14 rules. They are as follows in order of importance:

  1. Make fewer HTTP requests.
  2. Use a content delivery network.
  3. Add an expires header.
  4. Gzip contents.
  5. Put style sheets at the top.
  6. Put scripts at the bottom.
  7. Avoid CSS expressions.
  8. Make JavaScript and CSS external.
  9. Reduce DNS lookups.
  10. Minify JavaScript.
  11. Avoid Redirects.
  12. Remove duplicate scripts.
  13. Configure Etags.
  14. Make Ajax cacheable.

If you are interested in the explanations as to why these dramatically decrease page load time, I would highly recommend picking the book up.

And in case you are wondering why you should listen to this guy at all, he is the chief performance officer at Yahoo.

Posted by Posted by Jeremy Wischusen under Filed under Performance Comments No Comments »