Passenger on a VPS

Passenger’s default config is set up for shared hosting environments, which means that it revives (to a lesser extent) a problem from the bad old FastCGI days: your processes will go idle by default and after 5 minutes of inactivity will wind down. So every page view that comes in after 5 idle minutes (which, for a very small site, is a large portion of traffic) will take longer to load—on the order of 5-7 seconds on my 256MB slice. Every subsequent page view while the process remains standing will be processed promptly.

What you want is for your Passengers to remain standing like mongrels (but without all the obnoxious proxying). So definitely don’t just set it & forget it if you’re on a VPS. Based on the Passenger docs, you should set these two values in your global Apache config:

 # "If your system is a VPS and has about 256 MB RAM, and is also running other
 # services such as MySQL, then we recommend a value of 2"
 PassengerMaxPoolSize 2

 # "0 is recommended if you're on a non-shared host that's only running a few
 # applications"
 PassengerPoolIdleTime 0