WebSocket-bench测试WebSocket

1安装Node.js

CentOS6.5环境下安装

检查是否安装了epel

yum repolist

如果没有在结果中看到epel则通过yum命令安装

yum install http://dl.fedoraproject.org/pub/epel/6/x86_64/epel-release-6-8.noarch.rpm

安装好以上环境后开始安装node.js

sudo yum install nodejs npm --enablerepo=epel

 

2安装WebSocket-bench

使用npm以全局方式安装

npm install -g websocket-bench --registry=http://registry.npm.taobao.org

 

3WebSocket-bench使用

修改文件打开数

ulimit -n 60000

使用generator来自定义测试逻辑

复制代码
复制代码
module.exports = {
       //可选,在建立连接之前会执行
       beforeConnect : function(client) {
}, //必选,建立连接后要做的事情 onConnect : function(client, done) { //向服务器发送消息
//client为客户端的连接实例
client.emit('GetMessageList','{"channelID": "1609"}'); //回调函数 done(); }, //必选,向服务器发送消息时运行的代码 sendMessage : function(client, done) { client.emit('GetMessageList','{"channelID": "1609"}');
done(); }, options : { // realm: 'chat' } };
复制代码
复制代码

编写完成后,在运行websocket-bench时,使用-g参数指定generator文件

有时需要修改socket.io协议,位置在/usr/lib/node_modules/websocket-bench/lib/workers/socketioworker.js第18行

var client = io.connect(this.server, { 'force new connection' : true,'transports': ['websocket', 'polling']});

运行websocket-bench

websocket-bench -a 10 -c 1 -g generator.js -k  http://localhost:20001/  -o opt.log

-a 参数用于指定总共的测试次数, -c 参数指定并发连接数,使用 -o 参数可以将报告保存到单独的文件中

更多使用请查看https://github.com/M6Web/websocket-bench

4测试报告

Launch bench with 10 total connection, 1 concurent connection
0 message(s) send by client
1 worker(s)
WS server : socket.io

posted @   平凡的人生-野草  阅读(3084)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示