Taking a full frontal slashdot lighttpdly
As I catch up with a few things here, we had our first “real” slashdot (meaning front page slashdot linkage to a shared account; not something hitting one of our development sites on an $10,000 dedicated server).
An article from our Justin Gehtland landed on the front page, load ran up to 250 and Alex/Ryan had it solved before I even go out of bed to check out what was going on.
The problem: Apache’s prefork can’t deal with concurrency.
The solution: Lighttpd.
Let me show you some pictures


You can see that under Apache there were 400 processes in the queue and it was using up to 2.1GB of RAM to crank out a bunch of PHP-produced pages (still PHP-FastCGI).
The first blip is all Apache, the second blip both Apache and Lighttpd as they were moving it over, and the third is once it was all lighttpd.
And the tail? The site was still doing the same concurrency and number of requests, but the load had dropped to 4 and memory usage to 0.5GB. Incredible
To me, this was the first real demonstration of lighttpd’s superior abilities to handle concurrency and load, and “sealed the deal”. I see us doing Apache-proxy-to-Lighttpd as our default setup right now, because I feel that when you have servers that are dual 3.6Ghz xeons with high speed SCSI drives on dual RAID1/RAID5 split backplanes, your web server should be able to keep up with that.
·:· Posted 8 April 2005, 09:42 by Jason Hoffman to Lighttpd |
