我有一个javascript浏览器socket.io客户端模拟器,它可以创建并发连接(
io.connect(host, {'force new connection': true});
)到我的socket.io node.js服务器,但当websocket连接数量大约为545时,它突然停止工作,客户端尝试通过xhr-polling或任何其他后备协议进行连接(当然没有任何成功) )。
我试着调整我的服务器,即使我现在也遇到任何硬件问题。我的ulimit -n
设置为40960,ulimit -s
为8192。
sysctl -a | grep文件输出:
fs.file-max = 800000
fs.file-nr = 7520 0 800000
我尝试将http.globalAgent.maxSockets设置为40000但没有任何影响。即使我尝试从不同的计算机(位于不同的域,没有代理)之间连接,只有100个并发连接,socket.io服务器将在达到545个客户端时停止服务。
我阅读了很多博客和类似的东西: Realtime Nodejs Stresstest Story Caustiks Blog with 250k+ connections
有没有人有另一个想法,我可能错过了什么?我正在使用最新的socket.io和node.js。我的服务器在ubuntu上运行。