在Heroku的免费应用程序中,dyno似乎一直在空转——我的应用程序流量很低,但在我的情况下,我的用户不得不等待20多秒才能启动一个新的dyno,这也是不能接受的。

坦率地说,在这样的等待下,许多人甚至在第一页显示之前就离开了。

所以,我遇到了一个问题:当我每天的流量都在个位数时,我是否应该每月支付36美元来为每个用户节省令人尴尬的漫长20秒?

有没有办法解决这个问题?


当前回答

请注意,新的动态类型(目前是测试版,将于2015年6月发布)将禁止让一个免费的动态保持24/7的唤醒状态,因为它必须每天至少睡6个小时。

所以试着在这篇文章出来之前删除你在这篇文章中找到的任何解决方案(或者为你实际使用的服务付费)。

其他回答

还有一个有效的解决方案:wokeDyno 以下是一篇博客文章是如何工作的: 它很容易集成到应用程序中:

/* Example: as used with an Express app */

const express = require("express")
const wakeDyno = require("woke-dyno");

// create an Express app
const app = express();

// start the server, then call wokeDyno(url).start()
app.listen(PORT, () => {
    wakeDyno(DYNO_URL).start(); // DYNO_URL should be the url of your Heroku app
});

我发现另一个免费的网站,将不断ping你的网站叫Unidler

http://unidler.herokuapp.com/

和pingdom一样,但是不需要登录。

请注意,新的动态类型(目前是测试版,将于2015年6月发布)将禁止让一个免费的动态保持24/7的唤醒状态,因为它必须每天至少睡6个小时。

所以试着在这篇文章出来之前删除你在这篇文章中找到的任何解决方案(或者为你实际使用的服务付费)。

答案很简单——如果你看重服务,那就付钱。

所有这些获得付费服务的“技巧”……这就像偷有线电视一样。甚至在这里列出它们都是值得怀疑的。接下来是什么,盗版游戏的技巧吗?

就像这里的另一个帖子一样,我很重视开发和测试的免费服务,如果Heroku因为有太多的白吃白喝的人而取消它,我会对你们这些道德受损的人感到非常恼火。我只是觉得他的批评不够直接。

你可以安装免费的New Relic插件。它有一个可用性监控功能,每分钟会ping你的站点两次,从而防止dyno空转。

或多或少与Jesse的解决方案相同,但可能与Heroku更融合…而且还有一些额外的功能(性能监控非常棒)。

注意:对于所有那些说它不起作用的人:我的答案中重要的部分是“可用性监视器”。仅仅安装插件是没有用的。您还需要使用heroku应用程序的URL设置可用性监视。