Apache can handle 20mb/sec without problem. you don't mention which version of Apache, but, if you are running Apache2, mpm-worker is much faster than mpm-prefork if you are doing just static hosting. Of course, mpm-prefork is required for php to run as a module, but, mpm-worker + fastcgi/php is actually faster than mpm-prefork. You say the machine hung, but, that can mean different things. Did it slow to a crawl and have a load of 80+, or did the machine require a reboot that worked for a while afterwards?
thttpd only runs on one thread, so, if you are using HyperThreading and have a dual cpu, all requests will get routed to one cpu -- if you haven't masked your netcard irq to the same cpu that thttpd happens to run on, you could run into other performance issues. boa is also quite fast, but, again, single threaded. Dan Kegel talks a lot about web performance in his C10K paper. Apache also has a series of modifications called the Accelerating Apache project. Most of these are patches that Apache turned down because they broke functionality in the quest for speed. The patches are old, but, none of the issues addressed in the 'SGI' patches have ever been 'fixed'.
If you're looking for all out speed, and you're talking a usermode process, Fnord with dietlibc is very fast as is Chromium. If you don't mind kernel modifications, Tux is what I would suggest.
However, back to your initial Apache issue.
Apache was built to serve reliably, and then quickly. The default configs of most apache installations are sometimes quite bad. The other thing you need to do is identify WHY apache bogs down. When the machine gets slow, are processes waiting on IO, or is the machine CPU bound? It would be doubtful that any machine nowdays would be bound by interrupts.
ExtendedStatus inserts timestamp checks throughout the process -- you can see the obvious detriment here. That is usually one of the first things to go.
If you use mod_rewrite on heavily used pages, move that to your apache config and turn off Overrides. Check to make sure that AllowOverride all isn't set at the root directory (this can kill performance on busy sites). Make sure you don't have any deny from .domain.com in your .htaccess and that reverse dns resolution is turned off in apache. strace one of the child pids to see what it is doing. Then you can see where the bottleneck is.
Or, PM Useless Warrior and ask him for my hosting URL.
http://www.boa.org/ (I always found it ironic this site was hosted on apache)
http://www.kegel.com/c10k.html
http://aap.sourceforge.net/
http://www.fefe.de/fnord/
http://chromium.com/x15.html
http://www.redhat.com/docs/manuals/t...ual/intro.html
and last but not least
http://colo-cation.com/