Heroku上有一个dyno可以处理多少个websockets?

时间:2014-07-27 04:42:58

标签: heroku websocket

Heroku recently started to support WebSockets

据我所知,任何运行时应用程序(客户端)都会保持此WebSocket打开以与服务器通信。并且服务器将打开一个套接字以与客户端进行通信。

另外,据我所知,Heroku dyno之前只处理过一个打开的插座。所有请求都是按顺序处理的。

显然,它不会随WebSockets一起飞行(它需要100个dynos才能同时为100个用户提供服务)。

我似乎无法找到有关Heroku每个dyno允许的WebSockets数量的信息。

您是否看过有关此主题的任何信息?

更新1

哦..我发现了一些非正式的统计数据:http://veldstra.org/2013/10/25/heroku-websocket-performance-test.html

仍在寻找更多官方信息。

3 个答案:

答案 0 :(得分:1)

哦..我发现了一些非正式的统计数据:http://veldstra.org/2013/10/25/heroku-websocket-performance-test.html

答案 1 :(得分:1)

最大WebSocket连接将受其dyno的并发连接限制和服务器资源的限制。

我联系了Heroku支持团队,他们回复了我(2016年9月19日):

  

在资源方面,免费dyno等级没有限制。就并发连接而言,每个Heroku路由器实例的理论限制为50个连接,但我们目前不会公开任何时候运行的路由器实例的数量。一般而言,对于欧盟地区,您可以在任何给定时间内获得大约1500个连接。“

后来他澄清说,这个限制适用于所有dyno类型。即使是付费的。

我使用NodeJ,因为它可以处理许多服务器资源较少的并发连接。因此,很多用户可以同时连接。

您需要在服务器上运行压力测试/负载测试以了解限制。有tools可以帮助您运行此类测试,或者您可以自己设计简单的测试。

Heroku Routers将每个dyno的活动请求数限制为50.但是,路由器之间没有协调,因此这个请求限制是每个路由器。我认为他们也会随机选择路由器。

答案 2 :(得分:1)

最好:使用以下工具进行测试:https://github.com/observing/thor

相关问题