使用带有socket.io的nodejs服务器和客户端,我可以让14k客户端连接。 使用群集时甚至更少。
CPU或RAM都没用完。除了socket.io自身执行的自动ping之外,不会传输任何数据。
传输设置为仅使用' websocket',无轮询!
更多客户端失败的原因是"超时"。
是什么导致这个?
我能理解机器是否不够强大。但是我希望服务器无论如何都会随机丢弃客户端而不是每次尝试时都保持特定的数量。
编辑:这是在使用网络风暴的Windows上,我会尽可能在Linux机器上进行测试。
答案 0 :(得分:0)
使用socket.io测试https://www.codiva.io时遇到了类似的问题。问题是打开文件描述符的数量以及端口数量的限制。它在Ubuntu Linux中,默认限制大约为4k。 这可能与此有关。
答案 1 :(得分:0)
本文可能会帮助您:http://drewww.github.io/socket.io-benchmarking/
我想知道同样的问题,所以我最后写了一个小测试(使用XHR-polling)来查看连接何时开始失败(或落后)。我发现(在我的情况下)套接字开始在大约1400-1800个并发连接上运行。