mod_rails (Phusion Passenger) Second Impressions

After my initial setup problems with mod_rails, I never really paid much attention to the thing.

It should be noted first and foremost that all of my problems setting up Passenger appear to indeed be my own fault.

So why no follow-up until just now? The thing has been running for around six weeks and I’ve yet to talk about it since that initial setup. Did I give up on it and go back to mongrel?

Definitely not.

After mod_rails, mongrel is just not an option. This thing’s setup was a bit confusing due to my own ineptness as a unix admin, and even so, I have had zero problems with Passenger since I set it up. The only maintenance I’ve done was looking at the apache config to see if I needed to tweak any default values (I did, and it was easy).

The reason I haven’t mentioned it so far is simply that I haven’t given it any thought. With mongrel, I was always checking on it to see if an instance had crashed or stopped responding. That just doesn’t happen anymore, even with apps that I literally use less than twice a month. So in this case, the old adage “no news is good news” applies.

The system runs beautifully. The apps I only hit occasionally (yes, I’m such a geek I’ve written apps that are 100% internal to me) only waste memory for a very short time, and then the entire Rails framework is cleaned up! It’s not like mongrel where I have to have a permanent drain on resources to run a single app, and I cannot begin to describe how great that is. Right now I have two apps that I use almost never, and yet I can run them in production mode (for speed) without having to explicitly start and stop a service.

And that strange issue I described last time where the app just didn’t run until I reset permissions? I’m almost certain that was just my stupidity. I have deployed a new app from the ground up (sorry, one of my geeky internal apps, not a new game), and had not a single problem.

With the upcoming release of mod_rails 2.0 and Ruby Enterprise, things are looking even better. The list of enhancements to mod_rails is huge, and even Ruby Enterprise Edition is looking really nice.

My prior bad experiences with Dreamhost were primarily due to their claim that they supported Ruby on Rails, even though said support was iffy at best. According to the release candidate notes for 2.0, Ruby on Rails will no longer be a pipe dream for shared hosts. Just some of the features include: less memory usage, better load balancing, upload buffering, compatibility with even the oldest of Rails apps, and better overall compatibility with apps that don’t play nice.

The system is so nice that, after showing it to an admin at my day job, he used it on a commercial website he was working on and decided he’s not going back — he’s successfully installed and configured Lighty, Apache + FastCGI, and Apache + fcgid, and never liked any of those three solutions.

I only wish this had been around before I ditched Dreamhost :P

2 Replies to “mod_rails (Phusion Passenger) Second Impressions”

  1. 100% agreed. Have you got REE working? if you have any compiled gems in your app (redcloth is typical), you’ll need to recompile. Got any thoughts now your (presumably) upgraded Phusion installation?

    Greets from Oxford, England :)

  2. I have read up very briefly about REE, but haven’t actually tried it out. It sounds great, but my linux admin skills are so bad that I really don’t want to dick around with anything I’m not absolutely sure will help.

    With my current site, Ruby isn’t enough of a bottleneck to worry me (I really only have the one game that takes any significant CPU or RAM), so I’m just too scared to try anything new :)

Leave a Reply

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.