我想在Heroku上托管一个静态网站,但不确定从多少个dynos开始。
它在这个页面上说:https://devcenter.heroku.com/articles/dyno-requests,一个dyno可以服务的请求数量,取决于所使用的语言和框架。但我也在某处读到1dyno一次只能处理一个请求。
这里有点困惑,1个web dyno就足以托管一个流量非常小的静态网站(<1000次/月,<10次/小时)吗?随着流量的增加,您将如何估计dynos的额外使用?
希望我的问题表达正确。非常感谢您的意见,提前谢谢!
发布于 2012-05-12 23:55:13
我有点生气,因为我删除了一个完全有效的答案,但这里是另一次尝试。
Heroku dynos是单线程的,因此它们能够一次处理单个请求。如果你有一个动态页面(php,ruby等),那么你会看看一个页面在服务器上需要多长时间来响应,比如说它需要250ms的响应时间,那么一个dyno可以每秒处理4个请求。添加更多的dynos会增加并发性,而不是性能。因此,如果您有2个dynos,在此场景中,您每秒可以处理8个请求。
由于您只讨论静态页面,因此它们的响应时间应该比这快得多。确定是否需要更多信息的最好方法是查看heroku日志输出,看看'queue‘值是否有持续的水平;这意味着dynos无法跟上,请求正在排队等待处理。
发布于 2012-05-12 07:29:18
由于大多数HTTP 1.1 clients will create two TCP connections在请求资源时都连接到when服务器,我有一种预感,如果你启动两个dyno,你会在单个客户端上看到更好的性能,所以客户端的流水线资源请求也可以被流水线处理。
你必须决定是否值得花额外的钱来提高单个客户端的性能(可能只是轻微的)。
如果您曾经期望有多个客户端同时请求信息,那么您可能需要两个以上的dynos,以确保至少有一个可供其他客户端使用。
发布于 2014-06-28 02:21:22
在这种情况下,如果你只使用一个dyno。第一个是免费的,第二个会让你超过每月的最低要求,并开始触发费用。
但是,你也应该意识到,在Heroku上有一个dyno,如果应用程序最近没有被访问过(我想这大约是30分钟),它就会进入睡眠状态。在这种情况下,可能需要5-10秒才能再次唤醒,并且可能会给用户带来非常缓慢的初始体验。
有一些web服务可以ping你的站点,测试它的响应并保持它的唤醒状态。例如,http://www.wekkars.com/。
https://stackoverflow.com/questions/10559669
复制相似问题