Lighttpd+Xcache+Drupal 6 = Holy !@#$
I’m absolutely stunned. On a whim (and out of boredom
) I set up lighttpd on my little laptop (an AMD64 X2 with 2GB of RAM), along with XCache, and thanks to lots of digging already done by this guy (and others referenced there) I got a test Drupal site up and running, too. It took a bit of nudging here and there (disabling the CGI module so that FastCGI support can take over, so that XCache works
) but it’s up and running. It’s just a wee bit … fast.
I tested the whole thing out with ab1: two hundred thousand requests total, with five hundred concurrent requests. Holy shit! Over 3,000 requests handled per second, no errors, no failures, and the longest-waiting request took a mere 650 milliseconds to finish. The notebook’s hardware never even pegged at 100% CPU utilization either. That’s just amazing. This was on a Drupal setup with few nodes but dozens of enabled modules (I basically turned on everything that Willfe.com uses) — a cute little notebook able to handle 350 million requests per day (!).
Anybody that suggests Drupal isn’t scalable hasn’t played with this setup. Obviously on small-scale deployments it doesn’t matter, but if you’re on a dedicated server and all you’re doing is running Drupal, switch to this stack fast. You just won’t have any scaling problems anymore until you have so much traffic that every day you’re making hundreds of dollars on friggin’ AdSense hits alone 
Pardon me while I go find my jaw … it’s on the floor over there somewhere by the couch where I was sitting when I ran all the tests.
-
ab is Apache Bench — a benchmarking utility that loads a given URL however many times you specify, making as many concurrent connections as you ask it to. ↩
- willfe's blog
- 139 reads
Technorati Tags:
Delicious
Digg
StumbleUpon
Google
Technorati
There’s two modules related
There’s two modules related to CGI — one is just called “cgi”, while the other is either “fcgi” or “fastcgi” (I’m booted off a different partition right now on the same laptop that ran these tests, so I’m not able to check at the moment).
If the “plain” CGI module is running, it’ll grab CGI requests before the FastCGI module gets a chance to play.
disabling CGI module?
what CGI module did you disable?
Post new comment