[Mongrel] Mongrel performing only half as fast as Apache?

Christopher Bailey chris at codeintensity.com
Tue Feb 27 18:40:30 EST 2007

I'm trying to do some initial benchmarking of our setup, mainly just to
establish baselines.  I'm essentially using the process Zed outlines in a
previous message:

What I'm running into is that Mongrel appears only half as fast as Apache
when serving a small static HTML file.  If I then add in Apache with
mod_proxy_balancer, going to a single Mongrel, it drops down to nearly about
a third of what pure static Apache will do.  This seems bogus to me, and I
suspect I have either some configuration problem, or something.  My
understanding from what I've read is that Mongrel should be fairly close to
Apache when serving static content (at least not only 50% as fast).  Is that
right as a generalization?

Here's some info to back this up.
- Server: HP DL360 dual 3.0GHz Xeons, 4GB RAM, 10k RPM SCSI disks
- OS: Fedora Core 6, up to date as of a few days ago, kernel 2.6.18 smp
- Apache 2.2.3, with mod_proxy_balancer (the RPM install)
- Mongrel 1.0.1, mongrel_cluster 0.2.1
- ruby 1.8.5 (2006-12-04 patchlevel 2)
- serving a static HTML file from the Rails app's public directory
- Testing using an identical server, that sits above this one in the rack,
connected to a switch (so it's one hop)
- Using httperf for testing, with the following command:
  httperf --server lab05 --port 80 --uri /mongrel_alive.html --num-conns
The number of connections I vary to be near the 10 second mark...

Here's the results:

- Just Apache, num-conns=15000, ~1400 req/sec
- Direct to Mongrel on port 5000, num-conns=8000, ~740 req/sec
- Apache mod_proxy_balancer to a single Mongrel, num-conns=5000, ~475

So, I'm incurring a massive penalty for the balancer/cluster setup.  In
production we will be using hardware load balancers, but even still, my
understanding was that instead of a drop from 1400 to 740, it should be
somewhat closer (say at least over 1000).

My configuration is what seems to be the usual thing documented say in Rails
Cookbook, on various blogs, and so on.  I can post the details if needed.

What would folks suggest, or what comments do you have?
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://rubyforge.org/pipermail/mongrel-users/attachments/20070227/67e11a05/attachment.html 

More information about the Mongrel-users mailing list