Node.js并发连接限制[关闭]

2024-03-25

我写了一个琐碎的node.js客户端/服务器对来测试并发连接的本地限制。它们之间不发送任何数据:10,000 个客户端连接并等待。

每次运行测试时,我都会生成一个服务器和 10 个客户端,每个客户端创建 1000 个连接。

达到约 8000 个并发连接需要 2 秒多一点的时间。然后它就停止了。没有错误发生(on 'error'回调不会触发,close也不触发)。连接“阻塞”,没有结果或超时。

我已经提高了最大文件描述符限制(ulimit -n),并允许 TCP 堆栈通过以下方式消耗更多读/写内存sysctl (net.ipv4.tcp_rmem and wmem).

我要达到的上限是多少?我怎样才能举起它?

- 编辑 -

服务器程序,删除了日志代码:

clients = []

server = net.createServer()

server.on 'connection', (socket) ->
    clients.push socket

server.listen 5050

客户端(这运行n times):

sockets = []

for [1..num_sockets]
    socket = new net.Socket
    sockets.push socket
    socket.connect 5050

这些是系统限制:

sysctl -w net.ipv4.ip_local_port_range="500 65535"  
sysctl -w net.ipv4.tcp_tw_recycle="1"               
sysctl -w net.ipv4.tcp_tw_reuse="1"                 

sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216"   
sysctl -w net.ipv4.tcp_wmem="4096 16384 16777216"   

sysctl -w fs.file-max="655300"                      
sysctl -w fs.nr_open="3000000"                      

ulimit -n 2000000

None

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Node.js并发连接限制[关闭] 的相关文章

随机推荐