场景描述: 模拟用户连接websocket后,保持心跳,长连接不断开
websocket压测思路分析:
1、建立websocket链接 ;
2、在链接下保持心跳,使用jmeter循环控制器发送心跳保持链接;
3、参数化请求参数;如并发量、连接循环次数;
概念:
Websocket是一种持久化连接,先通过http协议建立一次连接,在连接中通过
websocket协议持续和服务器进行交互,同时该协议存在被动性特点,服务端可以主动
通知客户端下面是具体抓包情况,可以看出在Websocket连接之后,向服务器发送请求
无需再次建立http连接
场景模拟:
1、新建一个测试计划 -- 线程组,并添加一个取样器,建立ws关系连接
2、正确填入相关的ws信息
1)代表协议类型,ws对应http,wss对应https;
2)请求服务器名称,从抓包结果可以获得;
3)请求端口号,从抓包结果可以获得;
4)请求路径,从抓包结果可以获得;
5)连接5S后未连上超时,可以自己设置;
6)请求数据,从抓包结果可以获得;;
7)响应6S后未成功超时,可以自己设置;
3、ws连上之后再添加一个取样器,连接方式选择:使用已存在的连接,这样就不用重新去建立ws连接关系,直接饮用上面一个就可以了
4、取样器建立好之后,通过循环控制器保持心跳,不被断开,自己设置的是10次,看业务场景需要,自行设定
5、可以看看结果了~
注:下载websocket依赖的jar,放到/apache-jmeter-5.1.1/lib/ext目录下即可,链接:https://pan.baidu.com/s/1XXykkoK7PqBqVhr5fa9Rog
提取码:lv5p