That startup penalty is one of the bigger cons to Passenger. When I last looked into it, there was no official way to guarantee a minimum number of running listeners, though I'd imagine that's coming in time. If I were you I'd definitely start with bumping the idle time up to an hour or two and see if that helps.
If your tickler is an external uptime monitor that pings at roughly the same interval as your timeout, then that's a win-win. An alternate, only-slightly-less-hackish approach to a tickler would be to turn your home page into a static page (if possible) that fires off an Ajax request to some Rails action. That'd be relatively quick, though a bit more maintenance for that static page. As Patrick mentions, Heroku could be a good option as well. I have moved all of my client sites over there, and I'm no infrastructure slouch. There is occasionally some startup penalty on their single-dyno free accounts, but it's nicely mitigated by the ease of their Varnish HTTP caching setup. Just throw an expiration of 12 hours on your static actions, a couple hours for dynamically content-managed stuff, and you're doing even better. Let us know what you end up settling on :) -- Nick Zadrozny -- SD Ruby mailing list [email protected] http://groups.google.com/group/sdruby
