Been dealing with growing demands for system resources on a website, and got me thinking:
What's the fastest way to server a single static webpage from a single server in memory?
Feel free to ask for clarifications, basically trying to reduce the application stack as much as possible, use as little memory as possible, but keep the system in memory as much as possible. Guessing the static webpage would not over https and would be 20k, no images, and inline CSS/JS; meaning it's one file. More points for lower cost/resource systems.
Feel like running linux 2.4 with a memory filesystem and Tux? That still ranks among the fastest I've run. Highest clock speed CPU you can find and you're set.
Varnish would be #2. We've thrown six machines at it generating requests, filled a 10GB pipe, and it just keeps serving without a hint that the source machine is having any problems.
Nginx can serve content from memcached, and can cache that internally.
A custom C app that implements a minimal subset of HTTP and outputs the page previously stored in a variable.
tHTTPd is the lightest HTTPd I know of, and it still supports quite a few basic functions. It's open source, an order of magnitude faster than Apache, and 50k compiled. In small page requests, Zeus beats it, but doesn't have the features and isn't free/oss (you do get support however).
Easily the fastest thing I've seen in this area is the use of one or more Zeus ZXTM appliances as a cache in front of a 'proper' web server.
The whole of the BBC serves its static content from 4 of these things - they're 64-bit so can cache huge amounts and can saturate multiple 10Gbps NICs - I've certainly never seen anything do just that, not even Cisco's CDN boxes. That said they're REALLY expensive but we use them and they just blew me away.
I'm sure there's a free equivalent that I'm not aware of however.