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
仍在寻找更多官方信息。
答案 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