Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/39.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Node.js 在节点中具有大量tcp连接时重新设置_Node.js_Macos_Sockets_Tcp - Fatal编程技术网

Node.js 在节点中具有大量tcp连接时重新设置

Node.js 在节点中具有大量tcp连接时重新设置,node.js,macos,sockets,tcp,Node.js,Macos,Sockets,Tcp,我有一个Node.js应用程序,由服务器和客户端组成,它们使用TCP之上的协议进行通信。我为应用程序实现了一个简单的负载测试。基本上有很多客户端连接到服务器并交换消息。当有大约600个客户机时,这一切都很好地工作,然后我开始发现EconReset错误。为了确保它不是实现,我创建了一个非常简单的TCP服务器/客户机,客户机将只连接到服务器。这最多可以工作900个连接,但随后它开始给出相同的错误。我用Maverics在Mac上运行这个应用程序。我已经和sysctl和ulimit玩过了,但都没用。以下

我有一个Node.js应用程序,由服务器和客户端组成,它们使用TCP之上的协议进行通信。我为应用程序实现了一个简单的负载测试。基本上有很多客户端连接到服务器并交换消息。当有大约600个客户机时,这一切都很好地工作,然后我开始发现EconReset错误。为了确保它不是实现,我创建了一个非常简单的TCP服务器/客户机,客户机将只连接到服务器。这最多可以工作900个连接,但随后它开始给出相同的错误。我用Maverics在Mac上运行这个应用程序。我已经和sysctl和ulimit玩过了,但都没用。以下是我更改的设置:

  • 内核ipc.somaxconn=12000
  • kern.maxfilesperproc=12000
  • kern.maxfiles=12000
  • ulimit-S-n 12000
我使用的简单TCP服务器/客户端实现如下所示:

var net = require('net');

var HOST = '127.0.0.1';
var PORT = 6969;

var server = net.createServer();
server.listen(PORT, HOST);
server.on('connection', function(sock) {
    console.log('New Client')
});


for(var i = 0; i < 2000; i++) {
    var client = new net.Socket();
    client.connect(PORT, HOST, function () {
        console.log('Connected');
    });
}
var net=require('net');
var-HOST='127.0.0.1';
var端口=6969;
var server=net.createServer();
监听(端口、主机);
server.on('connection',函数(sock){
console.log(“新客户端”)
});
对于(变量i=0;i<2000;i++){
var client=new net.Socket();
client.connect(端口、主机、函数(){
console.log('Connected');
});
}
我不确定此问题是否与操作系统或节点相关