我有一台运行node.js(v0.1.32)的计算机,并带有tcp服务器(tcp.createServer)和http服务器(http.createServer)。在基于80端口的基于彗星的应用程序发出的长轮询请求(每个持续50秒)攻击了http服务器。出于相同的目的,来自iPhone应用程序的8080端口上也有tcp套接字连接。
[发现服务器暂时无法处理更多连接(特别是tcp连接,而http连接似乎正常!!?),并且仅在重启后才正常。
为了对连接进行负载测试,我创建了一个tcp服务器并生成了2000个请求,并计算出在达到计算机上的最大文件描述符限制(默认1024)之后,连接开始失败。这是一个非常小的数字。
所以,这里是一个新手问题:如何扩展我的应用程序以处理node.js上的更多连接以及如何处理此问题。
是否有办法找出当前有多少活动连接?
谢谢Sharief
关闭连接时,只需从连接对象中删除该属性。然后,您可以通过Object.size(connections)
var server = http.createServer(app);
server.getConnections(function(error, count) {
console.log(count);
});
使用此功能,您可以继续检查连接,当连接超过阈值时,请关闭先前的连接。希望能帮助到你。