I’m testing a deployment on a dedicated server (dual core AMD with
about 2GB ram, 100Mbps uplink) with Apache 2.2.3 (CentOS 5 build from
yum), mod proxy balancer, and mongrel.
I can get Apache to serve static files at around 1200 requests per
second, which I am happy with. However I can’t get dynamic pages
(hello world controller through mongrel) to go more than 160 req per
second. One mongrel gives me about 90, then 2 or more is 160. So the
benefits seem to max out at only 2 mongrels.
I’ve used all the different conf files out there (everyone’s seem to
look completely different), but the result is basically the same.
I found this in the Mongrel docs:
"Jason Hoffman reports:
Apache's mod_proxy_balancer module is a fully blocking module and
with the default httpd.conf you’re going to max out in the 120-160
requests/ second range on a decent box. You can tune up its proxying
to about a 1000 req/sec. So yes the net result is that you can really
only put a couple of mongrels behind apache’s proxy engine (about 2
“hello world” rails mongrels)."
Can’t find any more documentation on the subject though. Any ideas?
I’m aware of nginx and would love to test it out someday, but for now
I’d like to know what apache is capable of. I’ve seen enough people
recommending it to think that there must be a way to get better than
160 requests per second.
Any ideas? Thanks