I'm having this same problem - excruciatingly slow loading times on the first page. I'm using passenger on DreamHost. Seems like there's three solutions:
1. Adjust the PassengerPoolIdleTime so that the application stays running. (I don't have access to this setting since I'm not on a private server.)
2. Cache the public pages so the application essentially doesn't even need to run at all. (I can't do this cause I have a lot of dynamic content (stock tickers, upcoming events, etc.) on those pages.)
3. Set up a cron job to visit the page at regular interval in order to keep the server fresh (like rogerdpack suggests).
I think a cron job would work for me, but I'm very new to Unix and having some trouble getting it set up / knowing how to check if it's working properly.
I understand that the cron job will need to be set up on the server eventually, but right now I'm just trying to make it work on my computer. Basically, I'd like to have my computer visit the site every five minutes.
Here's what I've done so far:
1. accessed the crontab file: pico crontab -e
2. added this line: 0,5,10,15,20,25,30,35,40,45,50,55 * * * * open http://domain_name.com/
3. saved and exited
Am I missing something? Is there a simple way to tell if this is working?