我写了一个简单的node.js
客户端/服务器对来测试并发连接的本地限制。它们之间没有数据发送:10.000个客户端连接,等待。
每次运行测试时,我都会生成一个服务器和10个客户端,每个客户端创建1000个连接。
达到~8000个并发连接需要2秒多一点时间。然后停止。没有错误发生(on 'error'
回调不会触发,close
也不会触发)。连接“阻止”,没有结果或超时。
我已经提出了最大文件描述符限制(ulimit -n
),并允许TCP堆栈通过sysctl
(net.ipv4.tcp_rmem
和{{使用更多的读/写内存。 1}})。
我打的是什么?我该怎么解除它?
- 编辑 -
服务器程序,剥离了日志记录代码:
wmem
客户端(运行clients = []
server = net.createServer()
server.on 'connection', (socket) ->
clients.push socket
server.listen 5050
次):
n
这些是系统限制:
sockets = []
for [1..num_sockets]
socket = new net.Socket
sockets.push socket
socket.connect 5050