Modrails outperforms Mongrel
statsheet.com
statsheet.com
He had ridiculous memory leaks from ActiveRecord/Rails under the older 'stable' version of Ruby he was using with Mongrel. When he switched to Passenger, which uses a patched/forked version of Ruby (the hilariously named "Ruby Enterprise Edition"), his Rails memory leak went away.
REE alone halved our response times and our memory usage across our Rails cluster. We're stll on mongrel/nginx.
Still doesn't address the global queue issue.
Coincidentally, I ran up an article on shifting my server to Ruby 1.9 earlier today. It might be of interest to anyone considering it.
It's certainly better than WEBrick, but it's not really The Most Awesome Thing Ever. The reason sysadmins didn't want to tell about Mongrel, might be because it was a pain in the ass to setup and to make sure it didn't went down. It was one of those things you just never wanted to touch again...
Not in my experience, but regardless, for those of use that were there in the beginning (think Rails on FastCGI), Mongrel was one HELL of a nice stop gap.
Thanks Zed.
We had some memory consumption problems also when we decided to migrate and just switching to passenger did little for those. It was really the switch to REE that made the difference. Also the memory was not really from complex database operation, it was for rendering huge erb templates for the Googlebots. In the end there were no reason to always generate those templates and caching solved the problem definitively, but with REE it was already acceptable and we could have let it be for some months too.
What bothers me, though, is how for some at least, Mongrel must be completely vilified before Passenger is able to become the next in a long line of Ruby deployments progressions.
Idk, I just don't understand the need for those type of motivations.
FastCGI -> LigHTTP (+others) -> Mongrel -> Passenger, and it seems like we've had a crucifixion at each stage of development.
But idk and it's late.
Passenger* is just superb. I kicked Phusion a few bucks, and if you are as pleased as I am then I hope you do too.
* at least on Apache. Passenger on Nginx would crash for me after about a week, so I went back to mongrel_cluster on my non-Apache setup.
You probably want to have a look at the appendices.
If you use it, consider turning on global queueing for extra special goodness: http://blog.phusion.nl/2008/10/29/phusion-passenger-now-with...
Docs: http://www.modrails.com/documentation/Users%20guide%20latest...
EDIT: (Using with Apache, no experience using nginx)