Server latency is the start of the battle for site performance. There are great tutorials
on how to optimise your html, but if your server takes too long sending the bytes out in the first place, there's nothing the browser can do but wait.
It gets even worse. Server latency directly affects your site's hardware requirements. Slow html, in some sense, is the user's problem; their browser will spin trying to render your spaghetti css. But the longer it takes your server to put out a page, the fewer pages it can serve per second. Which means buying more servers for the same load.
For example, if your server returns a page in 50ms, it can pump out 20 of those a second. If it takes 250ms instead, it can put out only four per second. That's a 5X difference in the number of machines needed to serve the same number of users.
Just for review here recall that 1 millisecond = 1/1000th of a second. So:
50ms = 1/20th of a second
250ms = 1/4 of a second
500ms = 1/2 of a second
The human eye's threshold for perceiving latency is about 50ms. Crudely simplified, this means that if you render a screen within 50ms or less, it's going to be perceived as instantaneous. If it takes longer, people can sense the latency. Lots of subliminal processing occurs on an image in the first 250ms, with conscious processing happening after 270ms.
(Making a leap here... This means that people's well-trained subliminal neural hardware is deciding whether to click Back even before they've consciously realized what they're looking at...cool. :-)
I'd recommend the following performance yardstick for server latency:
50ms = pretty good
250ms = ave/sluggish, but still OK
>500ms = your site is slow as molasses
Faster is always better, but if you're in the 50-100ms range you can feel pretty good about your platform. Over that, and there's probably some easy wins to be had, which will payoff in user satisfaction and a lower hardware ramp in the co-lo.
So how does the rest of the net stack up?
The following list is the result of running apachebench on 530 Web 2.0 sites pulled from CrunchBase. I also added some of the major sites such as Google, Yahoo, and so forth for comparision.
Caveat: I don't recommend trying this at home. I was deliberately trying to avoid overloading anyone's servers, so this was not a stress test, just a touch test done off-peak with a mean result coming from 10 non-concurrent fetches. Running apachebench against Google (or anyone else for that matter) is a great way to get IP-banned.
There is a huge range -- 100X! -- in performance figures, from <10ms for the fastest sites to slow sites which took seconds to squirt out their html.
Yahoo trumps google on this test, returning their homepage in a mean time of 13.620ms, vs. Google's 30.716ms. This despite Yahoo's page having nearly twice as many bytes (although still quite lean at just under 10k of html).
I included information about the site's webservers, but there doesn't seem to be any consistent trend. Apache appears on both the slowest and the fastest sites, with many other servers spread through the range too. Apparently it doesn't matter what brand of webserver you have, it's how you use it.
Anyway, on to the list.