jmeter针对websocket协议的压测
之前一直没有接触过websocket协议,所以一直对websocket的压测存在疑惑,在网上参考文章并不断尝试之后,终于有所得;第一次用jmeter的websoket插件,用的ws非加密协议,请求都能得到正常响应,但由于公司系统升级使用了wss加密协议,再次用该插件后发现报如下错误:
- Opening new connection
- Using response message pattern ""
- Using disconnect pattern ""
- Waiting for the server connection for 5000 MILLISECONDS
- Cannot connect to the remote server
于是在国外网站上找到了全英文答案,该jar包2014年起就不更新了。最后重新下载了新的websocketjar包,下载地址:https://download.csdn.net/download/qq_41954078/10636378 该包下载完成后直接放在jmeter的lib/ext目录下,重启jmeter即可使用;
在使用之前我们要知道我们的请求的地址与参数是什么,所以
第一步:抓包;在chrome浏览器中按F12可以看到相关数据如图所示;
Frames下面中的数据就是请求与响应的数据,其中绿色箭头代表请求的数据,红色箭头表示响应的数据;
第二步:新建jmeter测试计划;
a、第一个取样器如图:
1、代表协议类型,ws对应http,wss对应https;
2、请求服务器名称,从抓包结果可以获得;
3、请求端口号,从抓包结果可以获得;
4、请求路径,从抓包结果可以获得;
5、连接5S后未连上超时,可以自己设置;
6、请求数据,从抓包结果可以获得;;
7、响应6S后未成功超时,可以自己设置;
b:第二个取样器如图:在第一个取样器已经建立连接的情况下,第二个取样器直接选择use existing connection即可继续发送请求;
参考文章:
https://blog.csdn.net/wx19900503/article/details/79221264
https://blog.csdn.net/heart_1014/article/details/53606337 保持心跳
websocket压测思路:
1、建立websocket链接 ;
2、在链接下保持心跳,使用jmeter循环控制器发送心跳保持链接;
3、参数化请求参数;如并发500个链接;
最新文章
- 对dom的理解
- 20145224&;20145238《信息安全系统设计基础》实验五
- android 页面停几秒后跳转
- thinkphp 最简单的引入百度编辑器的方法
- linux中进程控制
- Linux 命令 - w: 显示登录的用户及其当前执行的任务
- linux驱动程序之电源管理之标准linux休眠与唤醒机制分析(一)
- jquery 获取 outerHtml 包含当前节点本身的代码
- 如何解决Python.h:No such file or directory
- 清北学堂4.28Day1(重大更新详见贪心例一)
- java中内存分配
- matlab练习程序(求向量间的旋转矩阵与四元数)
- [js]Object.defineProperty等几个js特殊方法
- css的postion属性
- windows7 IIS7报错:如果要使用托管的处理程序,请安装 ASP.NET
- cyclone IV中DDR的一个疑惑
- IMG镜像写盘工具physdiskwrite,用于MikroTik RouterOS的安装(Windows)
- 简话Angular 05 Angular表单验证
- C#共享内存整理
- 吐槽一下Page Restore