this is normal because you are not paying for your dynamo, and the first dynamo will be idle after a certain time.
http://devcenter.heroku.com/articles/dynos
Applications that have only 1 web dino will be disabled after a period of inactivity. The network speaker will be turned off. When a request arrives in an idle application, your web dino will automatically spin back, causing a few seconds of delay for this first request. Subsequent requests will be executed as usual.
Applications that have more than 1 web dino never launch. Working speakers never stand idle.
If you want to see what happens, you can use this command (from the installation directory)
hero magazines
It will show the logs of your server.
In my intermediate environment, if I request now (when my dynamo is idling), I see in the logs
2012-02-18T12:17:24+00:00 heroku[web.1]: Unidling 2012-02-18T12:17:24+00:00 heroku[web.1]: State changed from down to created 2012-02-18T12:17:24+00:00 heroku[web.1]: State changed from created to starting [.....] 2012-02-18T12:17:42+00:00 heroku[router]: GET [...] dyno=web.1 queue=0 wait=0ms service=9ms status=200 bytes=0
=> It took about 20 seconds to fill out my first request.
user1027503
source share