[Ruby] Good alternatives to Mongrel?

Phil Hagelberg phil at hagelb.org
Sat Jan 5 11:23:29 PST 2008


Scott Windsor <swindsor at gmail.com> writes:

> I personally am not a big fan of using mongrel clusters for  
> production rails deployments - you can't spin up or down new  
> instances on the fly based on your current load.

Evented Mongrel does this IIRC. Check out Ezra's talk from RailsConf.

> I'd look into running rails as a fast cgi app, and then picking a
> webserver that you can configure with fastcgi (apache, lighttpd,
> nginx, etc).

Last I checked FastCGI caused a lot of random crashes that were
extremely difficult to debug, and forward development on it had
basically ceased. Unless things have changed drastically in the past
year, I would strongly warn anyone against using it. (Ever tried to
deploy on Dreamhost? They only allow FastCGI, and it's a total
nightmare.)

> If you're using merb or using mongrel as a simple stand-alone  
> webserver, you might want to look around elsewhere.  I also don't  
> think using mongrel as a front-end webserver scales very well.  It's  
> not multi-threaded, so the only way to scale out is to run lots of  
> mongrel (i.e. pack of mongrels or mongrel cluster), then front it  
> with either another webserver or a load balancer.

Rails is not multi-threaded; Mongrel and Merb are. But yeah; you'll want
to pop a load balancer like Nginx in front of it if you're using it for
Rails.

-Phil


More information about the Ruby mailing list