我有一个部署到Heroku的网站。这是一个低流量的网站,所以如果没有人去它几个小时,然后去它,它将需要大约5-10秒加载。对该网站上其他页面的任何其他请求都会很快加载。如果我完全退出网站并在几分钟后再回来查看,它也会很快恢复。
只有在闲置几个小时后,旋转时间才会明显。 有没有其他人有这个问题?如果是这样,你是如何解决的。
同样在谈论这个主题时,Google App Engine会发生同样的事情吗?我目前正在尝试这些应用程序托管平台,所以我对技术/语言没有任何偏好。
答案 0 :(得分:11)
“解决”此问题的最快方法是确保您的网站始终正常运行。设置一个pingdom帐户(http://www.pingdom.com/),每隔几分钟就会对你的网站进行ping操作,以保持其活着。
我有一个特殊的路由myapp.com/keep_alive
除了在没有缓存的情况下点击rails堆栈之外什么都不做。
希望这有帮助!
答案 1 :(得分:4)
你碰巧是用'免费计划'来托管它,即。只有1 dyno?
如果是这样,您的体验可能是Dyno Idling。您可以增加dynos的数量,以便您的应用程序“永远在线”
答案 2 :(得分:2)
根据我的理解,Heroku公开了这种行为。
对于免费站点托管,一个heroku'Dyno'专用于您的站点,如果dyno处于非活动状态一段时间,那么资源将被重定向到其他地方,当您尝试访问该站点之后系统必须请求退回Dyno。
您可以通过支付额外的dyno来预防这种情况,这些dyno会坚持您的网站,或者您可以使用自动脚本定期访问该网站。
答案 3 :(得分:0)
减少这段时间你可以做的最好的事情是尽量减少你的slu size的大小。这包括删除任何PSD或AI图像资源,删除PDF和最小化宝石集等步骤。有关详细信息,请参阅:http://devcenter.heroku.com/articles/slug-size。作为参考,我的应用程序通常可以在大约一秒钟内启动。
答案 4 :(得分:0)
如果您不想为Pingdom付费,可以尝试使用开源替代方案:Pinger