有多少dynos需要在Heroku上托管一个静态网站?

时间:2012-05-11 23:11:57

标签: heroku hosting

我想在Heroku上主持一个静态网站,但不确定有多少dynos开始使用。

在此页面上说:https://devcenter.heroku.com/articles/dyno-requests dyno可以提供的请求数量取决于所使用的语言和框架。但是我也读过一个dyno一次只处理一个请求的地方。

这里有点困惑,1 web dyno是否足以托管一个流量非常小的静态网站(&lt; 1000次/月,<10 /小时)?当交通量开始增加时,您会如何评估动力的额外使用?

希望我正确地说出我的问题。非常感谢您的投入,提前感谢!

3 个答案:

答案 0 :(得分:48)

因为我删除了一个完全有效的答案而有点恼火,但这是另一次尝试。

Heroku dynos是单线程的,因此它们一次只能处理一个请求。如果你有一个动态页面(php,ruby等),那么你会看一个页面在服务器上响应多长时间,比如花了250ms来响应,然后一个dyno可以每秒处理4个请求。添加更多dynos会增加并发性 NOT 性能。因此,如果您有2个dynos,在这种情况下,您每秒可以处理8个请求。

由于您只是在谈论静态页面,因此它们的响应时间应该比这快得多。确定是否需要更多内容的最佳方法是查看heroku日志输出,看看是否有“队列”值的持续级别;这意味着dynos无法跟上并且请求正在排队等待处理。

答案 1 :(得分:3)

由于在请求资源时大多数HTTP 1.1 clients will create two TCP connections到网络服务器,我有预感,如果你启动两个dynos,你会在单个客户端看到更好的性能,所以客户端的流水线资源请求也可以通过流水线处理。 / p>

您必须决定是否值得为单个客户的(可能轻微的)性能提升额外的资金。

如果您预计有多个客户一次请求信息,那么您可能需要两个以上的dynos,以确保至少有一个可供其他客户使用。

答案 2 :(得分:3)

在这种情况下,如果你留在一个dyno。第一个是免费的,第二个是超过每月最低限额并开始触发成本。

但是,你也应该在Heroku上使用一个dyno来实现,如果最近没有访问它,应用程序将会进入睡眠状态(我认为这是大约30分钟)。在这种情况下,可能需要5-10秒才能再次唤醒,并且可以为您的用户提供非常缓慢的初始体验。

有些网络服务可以ping您的网站,测试它的响应并使其保持清醒状态。例如http://www.wekkars.com/