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 + ' 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 突破最大长连接的更多相关文章
- 浅谈Websocket、Ajax轮询和长连接(long pull)
最近看到了一些介绍Websocket的文章,觉得挺有用,所以在这里将自己的对其三者的理解记录一下. 1.什么是Websocket Websocket是HTML5中提出的新的协议,注意,这里是协议,可以 ...
- HTTP长连接和短连接 + Websocket
HTTP协议与TCP/IP协议的关系 HTTP的长连接和短连接本质上是TCP长连接和短连接.HTTP属于应用层协议,在传输层使用TCP协议,在网络层使用IP协议.IP协议主要解决网络路由和寻址问题,T ...
- 微信小程序中如何使用WebSocket实现长连接(含完整源码)
本文由腾讯云技术团队原创,感谢作者的分享. 1.前言 微信小程序提供了一套在微信上运行小程序的解决方案,有比较完整的框架.组件以及 API,在这个平台上面的想象空间很大.腾讯云研究了一番之后,发现 ...
- 当web应用包含了websocket长连接,如何在web应用前加一层nginx转发
1 通过在web应用的前面加一层nginx ,可以实现一台主机部署多个应用,每个应用都可以用不同的域名去访问,并且端口都是80 2 nignx 转发websocket长连接 1 每个web应用,他们运 ...
- Python WebSocket长连接心跳与短连接
python websocket 安装 pip install websocket-client 先来看一下,长连接调用方式: ws = websocket.WebSocketApp("ws ...
- Vue+WebSocket 实现页面实时刷新长连接
最近vue项目要做数据实时刷新,折线图每秒重画一次,数据每0.5秒刷新一次,说白了就是实时刷新,因为数据量较大,用定时器估计页面停留一会就会卡死... 与后台人员讨论过后决定使用h5新增的WebSoc ...
- 了解轮询、长轮询、长连接、websocket
业务开发中我们往往会有一些需要即时通信的场景,比如微信扫码登录.聊天功能. 下面这四种方式都可以实现即时通信. 轮询: 浏览器通过定时器每隔一段时间向服务器端发送请求,服务器端收到请求并响应请求.没有 ...
- WebSocket 长连接 及超时问题解决
<?phpset_time_limit(0); class SocketService { private $address = 'localhost'; private $port = 80; ...
- 实现单台测试机6万websocket长连接
本文由作者郑银燕授权网易云社区发布. 本文是我在测试过程中的记录,实现了单台测试机发起最大的websocket长连接数.在一台测试机上,连接到一个远程服务时的本地端口是有限的.根据TCP/IP协议,由 ...
随机推荐
- luoguP3371 【模板】单源最短路径
P3371 [模板]单源最短路径 3K通过 10.7K提交 题目提供者 HansBug 标签 云端↑ 难度 普及/提高- 时空限制 1s / 128MB 题目描述 如题,给出一个有向图,请输出从某一点 ...
- Node.js安装及环境配置
1.Node.js简介 简单的说 Node.js 就是运行在服务端的 JavaScript. Node.js 是一个基于 Chrome V8 引擎的 JavaScript 运行环境. Node.js ...
- puppet自动化部署
puppet自动化部署 puppet 实现运维自动化管理的软件. 官方网站: http://puppetlabs.com/ pupptet下载链接:http://downloads.puppe ...
- linux命令---vi编辑器快速定位行数
linux命令—vi编辑器快速定位行数.删除当前行.和删除当前行后面的全部内容 1.vi 编辑器如何快速定位到第N行 命令方式下 :n http://bbs.chinaunix.net/thread- ...
- css 元素的竖向百分比设定是相对于容器的高度吗?
结论是,如果是height的话,是相对于容器高度,如果是padding-height,margin-height则是相对于容器的宽度. 举例说明: <!DOCTYPE html> < ...
- C++入门经典-例7.7-对象与复制,菌类的繁殖
1:当函数以相应的类作为形参列表时,对象可以作为函数的参数传入.在学习函数时,我们曾提过,值传递先复制实参产生副本.那么对象的副本是怎样的呢? 复制构造函数是指类的对象被复制时所调用的函数.下面两种情 ...
- Android res之shape
xml控件配置属性 android:background="@drawable/shape" 标签 corners ----------圆角gradient ----------渐 ...
- C#类型转换类(通用类)
// /// 类型转换类 /// 处理数据库获取字段为空的情况 /// public static class DBConvert { #reg ...
- 自定义一个数组对象工具demo
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- 后端脚手架搭建--SSM(一)开篇
一.絮叨 一直在计划自己搭建一个后台的管理系统脚手架,也已经开始着手做了,但是做的过程中一直出现混乱的状态.在前端技术选型的时候觉得Vue不错,然后去学了一段时间的Vue,准备拿来在项目里面用.然后又 ...