为什么Heroku托管的应用程序需要很长时间才能启动?

时间:2011-08-01 04:57:00

标签: ruby-on-rails heroku

我最近创建了我的第一个Heroku应用程序,我发现了一些奇怪的行为:

当一段时间没有访问应用程序时,我认为服务器关闭了。然后,如果您访问它,在响应之前启动大约需要20秒。在初始启动阶段之后,它会快速响应。

有没有办法避免这种“启动/关闭”阶段?

3 个答案:

答案 0 :(得分:16)

是的,支付全时动力。 Heroku文档指出,如果你的dyno暂时没有使用(根据我的经验,30分钟)你在免费等级,它会关闭。它会在下次收到请求时重新启动。

请参阅:http://devcenter.heroku.com/articles/dynos#frequently-asked-questions

Heroku将他称为“Dyno Idling”。

答案 1 :(得分:14)

除了安德鲁的答案,和/或如果你买不起额外的动态,你可以实施New Relic RPM插件并使用他们的“可用性监控”功能。

它基本上会每分钟ping你的应用程序两次,从而防止dyno空转。此外,您还可以获得性能测量功能。

答案 2 :(得分:9)

这是因为dynos说。你可以ping你的应用程序以保持它的启动。看看这篇文章:

http://codeglot.com/posts/25-simple_way_to_keep_smaller_apps_loaded_on_herkou