Faster is better

Through a presentation from Nicole Sullivan, a former member of Yahoo’s Exceptional Performance Team and co-author of O’Reilly's upcoming book on performance optimization, I came across the following data points:

  • Amazon: 100 ms of extra load time caused a 1% drop in sales. (Source: Greg Linden, Amazon)
  • Google: 500 ms of extra load time caused 20% fewer searches. (Source: Marrissa Mayer, Google)
  • Google: trimming page size by 30% resulted in 30% more map requests. (Source: Marrissa Mayer, Google)
  • Yahoo!: 400 ms of extra load time caused a 5 to 9% increase in the number of people that clicked "back" before the page even loaded. (Source: Nicole Sullivan, Yahoo!)

While we all knew this was true (and while I'd like more detail on these tests), it is nice to have some quantitative data from different sources. Long story short: even the smallest delay kills user satisfaction. Let's make Drupal even snappier! (Hat tip: Peter Van Dijck)


Grugnog (not verified):

The Google Tech Talk on High Performance Web Sites and YSlow by Steve Souders (or Yahoo EPT) at is also worth a watch, if you haven't already.

January 06, 2009
Wim Leers (not verified):

I will be able to work on this as part of my bachelor thesis on Drupal's page loading performance.

People interested in this subject may also want to read my article about it.

(I know you know Dries, just trying to let your readers know :))

January 06, 2009
Alexander Langer (not verified):

Well, there is a great bunch of stuff that you can take out of all those tips (thanks for sharing, Wim) that you can achieve on a theme design / development level. Stuff like putting all all you JS right before the closing body tag isn't rocket science and is a step in the right direction.

There's still enough other things left to implement on a core basis like out-of-the-box support for CDNs.

Always good to know about your (Drupal's) strengths, even better about weaknesses and best to know how to get around them.

January 06, 2009
Matt (not verified):

I'm slightly obsessed with this right now. Front-end performance is relatively easy picking.

January 06, 2009
Daniel Hahler (not verified):

I really like the impact of putting all CSS and Javasript files (and inline snippets) in two "resource bundles" (one for JS and another for CSS).
Those get minimized of course and this results in a lot less to download (and especially less latency, since fewer HTTP requests are required - even if the response may have "just" been 304-Not-Modified).

A proof-of-concept (which I've written for b2evolution, but may be incorporated in other projects, like Drupal) is available in my b2evolution development branch.

I see that you're doing this for your CSS already, but the same can get applied to JS, too.

Of course, those bundles may get added to a CDN then, too, but I have not experimented with this.

I'm looking forward to seeing this integrated in Drupal, since it would mean to make the whole web a bit faster.. :)

January 07, 2009

We have this feature, both for JS and CSS, in Drupal core already. :)

January 07, 2009
matthew (not verified):

Wow that is really interesting data. I didn't know that such small changes could have such a huge impact.

January 11, 2009
Greg Linden (not verified):

Thanks for summarizing the talk, Dries. That Yahoo A/B test was news to me.

Great to see that everyone is looking at the impact of speed on usability and perceived quality.

January 14, 2009