websocket 压测时如何保持长链接不断开

场景描述: 模拟用户连接websocket后,保持心跳,长连接不断开

 

websocket压测思路分析:

1、建立websocket链接 ;

2、在链接下保持心跳,使用jmeter循环控制器发送心跳保持链接;

3、参数化请求参数;如并发量、连接循环次数;

 

概念:

Websocket是一种持久化连接,先通过http协议建立一次连接,在连接中通过

websocket协议持续和服务器进行交互,同时该协议存在被动性特点,服务端可以主动

通知客户端下面是具体抓包情况,可以看出在Websocket连接之后,向服务器发送请求

无需再次建立http连接

 

场景模拟:

1、新建一个测试计划  -- 线程组,并添加一个取样器,建立ws关系连接

websocket 压测时如何保持长链接不断开

 

2、正确填入相关的ws信息

websocket 压测时如何保持长链接不断开

1)代表协议类型,ws对应http,wss对应https;

2)请求服务器名称,从抓包结果可以获得;

3)请求端口号,从抓包结果可以获得;

4)请求路径,从抓包结果可以获得;

5)连接5S后未连上超时,可以自己设置;

6)请求数据,从抓包结果可以获得;;

7)响应6S后未成功超时,可以自己设置;

 

3、ws连上之后再添加一个取样器,连接方式选择:使用已存在的连接,这样就不用重新去建立ws连接关系,直接饮用上面一个就可以了

websocket 压测时如何保持长链接不断开

 

4、取样器建立好之后,通过循环控制器保持心跳,不被断开,自己设置的是10次,看业务场景需要,自行设定

websocket 压测时如何保持长链接不断开

websocket 压测时如何保持长链接不断开

 

5、可以看看结果了~

websocket 压测时如何保持长链接不断开

 

 

注:下载websocket依赖的jar,放到/apache-jmeter-5.1.1/lib/ext目录下即可,链接:https://pan.baidu.com/s/1XXykkoK7PqBqVhr5fa9Rog 
提取码:lv5p

websocket 压测时如何保持长链接不断开

参考文档:https://www.cnblogs.com/lelexiong/p/9560313.html