栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

Websocket 突破最大长连接

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

Websocket 突破最大长连接

为了测试机器能够最大的长连接个数,故写了一个js脚本,需要用node进行执行

var WebSocketClient = require('websocket').client; var size = 8000;
var index = 0;

setInterval(function () {
    if (index < size) {
 init();
 index++;
    }
}, 10);
console.log('begin...');
init = function () {
    var client = new WebSocketClient();
    let urlIndex = index;
    // client.connect('ws://192.168.214.191:8899/ws', "", "");
    client.connect('ws://127.0.0.1:21112/OrderWebSocket/'+index, "", "");
    // client.connect('ws://192.168.214.181:30004/Invest/OrderWebSocket/' + index, "", "");

    client.on('connectFailed', function (error) {
 console.log('Connect Error: ' + error.toString());
    });

    client.count = 0;

    client.start = 0;
    client.on('connect', function (connection) {
 var last = (Number)(new Date().getMilliseconds());
 console.log(index + ' Connectedn');
 connection.on('error', function (error) {
     console.log("Connection Error: " + error.toString());
 });
 connection.on('close', function (error) {
     var second = (new Date().getTime() - client.start)/1000 + 1; 
     console.log(error + ';  Connection Closed:second = '+ second +",count:"+client.count +"--timepercount:"+second/client.count);
     
 });
 connection.on('message', function (message) {
     if(client.start == 0){
  client.start = new Date().getTime();   
     }
     
     client.count++;
     // var now = (Number)(new Date().getMilliseconds());
     // // console.log("序号:"+urlIndex+",消息:"+message.utf8Data+"n"+(now - last));
     // last = now;
 });
 connection.send("hello");
    });

}; 

以上代码就是来连接websocket使用的,发现到了1.3w左右连接,就出现Connection Error,解决方案


编辑/etc/security/limits.conf,添加以下两行代码,注意前面有星号

* soft nofile 1000000
* hard nofile 1000000

然后修改临时端口和IP_TABLE最大跟踪的TCP连接数有限制,编辑/etc/sysctl.conf,在文件中添加如下行

net.ipv4.ip_local_port_range = 10000 65535
net.netfilter.nf_conntrack_max = 1000000
net.nf_conntrack_max = 1000000

完毕,现在连接可以到4.5w左右差不多,我的机器会报以下错误

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/239485.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号