Heroku最近开始支持WebSockets
据我所知,任何运行时应用程序(客户端)都会保持这个WebSocket打开以与服务器通信。并且服务器将有一个打开的套接字来与客户端通信。
另外,据我所知,Heroku dyno之前只处理了一个打开的套接字。所有请求都按顺序处理。
显然,它不会与WebSockets一起运行(它将需要100个dynos来同时服务100个用户)。
我似乎找不到关于Heroku每个动态允许多少WebSockets的信息。
你看过这方面的资料吗?
更新1
哦. .我找到了一些非官方的统计数据:http://veldstra.org/2013/10/25/heroku-websocket-performance-test.html
还在寻找更多的官方信息。
WebSocket最大连接数将受到并发连接限制和服务器资源的限制。
我联系了Heroku支持团队,他们回复我(2016年9月19日):
后来他澄清说,这个限制适用于所有的动态类型。即使是付费的。免费的dyno层在资源方面没有限制。在并发连接方面,每个Heroku路由器实例有50个连接的理论限制,但我们目前没有公布任何时候运行的路由器实例的数量。一般来说,对于欧盟地区,您可以期望在任何给定时间有大约1500个可用连接。"
我使用NodeJs,因为它可以处理许多并发连接与低服务器资源。因此,相当多的用户可以同时连接。
你需要在你的服务器上运行压力测试/负载测试来得到一个限制的想法。有一些工具可以帮助您运行这样的测试,或者您可以自己设计简单的测试。
Heroku路由器将每个动态的活动请求数限制为50。但是,路由器之间没有协调,因此此请求限制是针对每个路由器的。我想他们也是随机选择路由器的
哦…我找到了一些非官方的统计数据:http://veldstra.org/2013/10/25/heroku-websocket-performance-test.html
最好:使用下面的工具进行测试:https://github.com/observing/thor