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