Websocket(node.js)连接限制,客户端在达到400-450个连接后断开连接

我有一个与socket.io连接限制大问题。 如果连接数量超过400-450个连接的客户端 (通过浏览器)用户断开连接。 我增加了软硬限制的tcp,但它并没有帮助我。 这个问题只适用于浏览器。 当我尝试通过其他node.js服务器的socket-io-client模块进行连接时,我达到了5000个连接的客户端 。 对我来说这是一个非常大的问题,完全阻止了我。 请帮忙。

更新

我试过用标准的Websocket库(带有node.js的ws模块),问题相似。 我只能达到456个连接的客户端。

更新2

我在几个服务器实例之间分配连接的客户端。 每一个客户端都通过其他端口连接。 不幸的是,这个改变并没有帮助我。 关联用户总数与以前一样。

您的操作系统可能会遇到一些限制。 在打开的并发文件数量上有安全限制,看看这个线程。

https://github.com/socketio/socket.io/issues/1393

更新:我想扩大这个答案,因为我之前从移动应答。 每个build立的新连接将在您的节点进程下打开一个新的文件描述符。 当然,每个连接都将使用RAM的一部分。 在用完内存之前,你很可能首先遇到FD限制(但这取决于你的服务器)。

检查你的FD限制: https : //rtcamp.com/tutorials/linux/increase-open-files-limit/

最后,我怀疑你的单一客户端并发性没有使用正确的标志强制新的连接。 如果要testing来自一个客户端的并发连接,则需要在Web服务器上设置一个标志:

var socket = io.connect(' http:// localhost:3000 ',{'force new connection':true});