I have started to look at Passenger (mod_rails) + "Ruby Enterprise Edition" (which is just a corny name for a nice GC hack that significantly reduces memory consumption) because of the aforementioned problem with Slicehost’s x86_64 amplifying Rails’ already voracious memory gobbling. So I did a few crappy benchmarks, comparing Mongrel to mod_fcgid and mod_rails. I didn’t look at concurrency, as that’s a can of worms I wasn’t prepared to open. I just wanted to see what raw speed was like. I used two methods from a project of mine, one, showall is quite DB intensive, and index does hit the DB, but not so much.
Looks like mod_fcgid and mod_rails (both running in devel mode) are faster, at least for this very unscientific benchmark. One other advantage those two Apache modules have is that they make life simpler – mod_rails even more than mod_fcgid, and don’t require an alphabet soup of mongrels and proxies and nginx, lighttpd or whatever the event-based server du jour is. Like I said though, the benchmarks are quick and dirty, and probably have issues. I’d be curious to see better ones *as long as they include mod_fcgid*.
Incidentally, it looks like linode.com uses regular x86 servers, so if you’re doing Rails, this is definitely a point in their favor, or at least something to consider when you compare the memory that they and slicehost give you.