With the recent release of mod_rails, I thought it was time for yet another benchmark. Mod_rails aims to make deployment of RubyOnRails applications comparable to deploying a PHP application on a shared host.
mod_rails (Apache 2.2.8)
Thin 0.8.0 (Cluster of 4 behind nginx 0.5.33, both TCP and Unix socket)
Ebb 0.1.0 (Cluster of 4 behind nginx 0.5.33)
Mongrel 1.1.4 (Cluster of 4 behind nginx 0.5.33)
The benchmark is the index page of Leef je doel, the hardware used is a Dell D830 laptop with a T7300 (speedstep disabled), 2GB of RAM and a 7200RPM harddisk. The page runs a few queries and also serves a lot of fragments from memcached.
|-n 10000 -c 10
||-n 10000 -c 50|
Like my previous test, Ebb comes out on top, closely followed by Thin.
Using the default Apache2 config supplied by Ubuntu, mod_rails shows performance equal to mongrel_cluster behind nginx. I’m sure that by tweaking the Apache config files, some performance can be gained.
Compared to setting up nginx and thin/ebb/mongrel, setting up mod_rails is a lot simpler. Have a look at their screencast to see how easy it is, if you have a working Apache2, you’ll have mod_rails up and running within minutes. There are some small issues with mod_rails at the moment, for a list, check mod_rails’ Google Code page.