单个Heroku dyno可以容纳多少个websocket并发连接?
我使用 Ruby 框架在 Cedar 堆栈上运行精简作为Web服务器。
答案 0 :(得分:8)
“你可以在一个dyno上维持大约6,000个打开的连接 创建超过160个连接/秒将导致H11错误(积压太深)“
看一下这个链接:
http://veldstra.org/2013/10/25/heroku-websocket-performance-test.html
答案 1 :(得分:1)
我得到了Heroku支持的答案:
您好, 我们的路由器将接受50个同时请求,之后它将发送H11错误。 这意味着每个dyno最多可以处理50个开放式腹板。 如果您仍有任何疑问或疑问,请告诉我们。
答案 2 :(得分:1)
我再次请求支持(最新的信息是从2016年开始),并得到了类似的答案:
每个dyno的WebSocket连接数没有硬性限制,因为您提到的限制是每个路由器50个连接。由于可用路由器的数量不是一成不变的,因此给您一个确切的数字很复杂。我们有一个路由器层,其中有许多台计算机,每个路由器可以跟踪到应用程序中每个Dyno的50个连接。不幸的是,由于该数字随着平台对当前入站流量的反应而增加,因此我们没有发布活动路由器的数量。
1500到2000是一个不错的平均估计,其理论上限在4500范围内。通常,一旦耗尽并发连接的数量,您将开始收到来自Heroku的H11错误。如果您期望成千上万的并发用户,我建议您进行1次以上的动态处理,不仅要增加WebSocket连接的数量,而且还因为水平扩展会为您的应用程序增加一些弹性。