为了测试机器能够最大的长连接个数,故写了一个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 + ' Connected\n');
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左右差不多,我的机器会报以下错误

个人联系方式QQ:944484545,欢迎大家的加入,分享学习是一件开心事

Websocket 突破最大长连接的更多相关文章

  1. 浅谈Websocket、Ajax轮询和长连接(long pull)

    最近看到了一些介绍Websocket的文章,觉得挺有用,所以在这里将自己的对其三者的理解记录一下. 1.什么是Websocket Websocket是HTML5中提出的新的协议,注意,这里是协议,可以 ...

  2. HTTP长连接和短连接 + Websocket

    HTTP协议与TCP/IP协议的关系 HTTP的长连接和短连接本质上是TCP长连接和短连接.HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议.IP协议主要解决网络路由和寻址问题,T ...

  3. 微信小程序中如何使用WebSocket实现长连接(含完整源码)

    本文由腾讯云技术团队原创,感谢作者的分享. 1.前言   微信小程序提供了一套在微信上运行小程序的解决方案,有比较完整的框架.组件以及 API,在这个平台上面的想象空间很大.腾讯云研究了一番之后,发现 ...

  4. 当web应用包含了websocket长连接,如何在web应用前加一层nginx转发

    1 通过在web应用的前面加一层nginx ,可以实现一台主机部署多个应用,每个应用都可以用不同的域名去访问,并且端口都是80 2 nignx 转发websocket长连接 1 每个web应用,他们运 ...

  5. Python WebSocket长连接心跳与短连接

    python websocket 安装 pip install websocket-client 先来看一下,长连接调用方式: ws = websocket.WebSocketApp("ws ...

  6. Vue+WebSocket 实现页面实时刷新长连接

    最近vue项目要做数据实时刷新,折线图每秒重画一次,数据每0.5秒刷新一次,说白了就是实时刷新,因为数据量较大,用定时器估计页面停留一会就会卡死... 与后台人员讨论过后决定使用h5新增的WebSoc ...

  7. 了解轮询、长轮询、长连接、websocket

    业务开发中我们往往会有一些需要即时通信的场景,比如微信扫码登录.聊天功能. 下面这四种方式都可以实现即时通信. 轮询: 浏览器通过定时器每隔一段时间向服务器端发送请求,服务器端收到请求并响应请求.没有 ...

  8. WebSocket 长连接 及超时问题解决

    <?phpset_time_limit(0); class SocketService { private $address = 'localhost'; private $port = 80; ...

  9. 实现单台测试机6万websocket长连接

    本文由作者郑银燕授权网易云社区发布. 本文是我在测试过程中的记录,实现了单台测试机发起最大的websocket长连接数.在一台测试机上,连接到一个远程服务时的本地端口是有限的.根据TCP/IP协议,由 ...

随机推荐

  1. 灰度图像--图像分割 霍夫变换(Hough Transform)--直线

    学习DIP第50天 转载请标明本文出处:http://blog.csdn.net/tonyshengtan ,出于尊重文章作者的劳动,转载请标明出处!文章代码已托管,欢迎共同开发:https://gi ...

  2. Codeforces 1167 F Scalar Queries 计算贡献+树状数组

    题意 给一个数列\(a\),定义\(f(l,r)\)为\(b_1, b_2, \dots, b_{r - l + 1}\),\(b_i = a_{l - 1 + i}\),将\(b\)排序,\(f(l ...

  3. mysql清表时有外键关联处理办法

    可以忽视关联的情况下: 先取消主外键关系验证:SET FOREIGN_KEY_CHECKS = 0; 然后删除需要删除的数据:truncate table table_name; 最后恢复:SET F ...

  4. JavaWeb-SpringBoot_(上)腾讯云点播服务之视频的上传-demo

    使用Gradle编译项目 传送门 腾讯视频云点播 传送门 项目已托管到Github上 传送门 腾讯云点播服务之视频的显示(下) 传送门 个人腾讯云控制台中的视频管理 IndexController.j ...

  5. TypeScript----接口和泛型

    接口 TypeScript的核心原则之一是对值所具有的结构进行类型检查.它有时被称做“鸭式辨型法”或“结构性子类型化”.在TypeScript里,接口的作用就是为这些类型命名和为你的代码或第三方代码定 ...

  6. 修改hive 默认fs为s3 遇到的坑

    问题: hive我修改了 默认的f <property> <name>fs.defaultFS</name> <value>hdfs://...:802 ...

  7. python正则表达式-案例

    工作中遇到一个小问题,需要在一个日志文件中,删选出包含emrfs sync命令和之后内容的行,格式如下, [2019-10-31 08:20:16,389] {logging_mixin.py:84} ...

  8. Android RecyclerView与ListView比较

    RecyclerView 概述 RecyclerView 集成自 ViewGroup .RecyclerView是Android-support-V7版本中新增的一个Widgets,官方对于它的介绍是 ...

  9. 三、SpringBoot启动时JDBC报错:You must configure either the server or JDBC driver (via the serverTimezone configuration property)

    错误提示: Cause: org.springframework.jdbc.CannotGetJdbcConnectionException: Could not get JDBC Connectio ...

  10. Ironic 的 Rescue 救援模式实现流程

    目录 文章目录 目录 救援模式 实现 UML 图 救援模式 以往只有虚拟机支持救援模式,裸机是不支持的.直到 Queen 版本 Ironic 实现了这个功能.救援模式下,用户可以完成修复.Troubl ...