jmeter工具测试和压测websocket协议【杭州多测师_王sir】

一、安装JDK配置好环境变量,安装好jmeter

二、下载WebSocketSampler发送请求用的,地址:https://bitbucket.org/pjtr/jmeter-websocket-samplers/downloads/?spm=a2c4g.11186623.2.15.363f211bH03KeI

下载解压后的jar包放到D:\JMeter\apache-jmeter-3.3\lib\ext目录下

三、如果需要在jmeter中安装那么就需要下载jmeter的插件管理器,地址:https://jmeter-plugins.org/install/Install/

同理,下载解压后的jar包放到D:\JMeter\apache-jmeter-3.3\lib\ext目录下

下载完成后,JMeter会自动重启,没有重启就自己启动一下

四、创建websocket请求

五、测试WebSocket协议示例
http://www.blue-zero.com/WebSocket/网站为例:

六、建立连接,发送websocket请求,进行断言

七、对websocket进行压测
参数配置如下:
并发线程数:10
ramp-up:60
循环次数:永远
duration:90秒
第一种场景:先创建连接,然后发送websocket请求

第二种场景:创建连接,并且发送websocket请求

结论:先创建连接再发送请求,tps到后面抖动厉害,创建连接并且发送请求的场景tps比较平稳,但因为只用了10个并发线程数,从tps趋势来看,还没达到服务器的瓶颈,所以接下来采用阶梯加压线程数进行单个请求的负载测试。

八、用jp@gc - Stepping Thread Group线程组进行单个请求的负载测试

第1轮:目标100个并发线程数,阶梯加压,吞吐量TPS能达到344,但是才37秒就开始报错了,并发线程数太高,调整策略重新来

第2轮:注释响应断言和断言结果,因为会影响tps,目标20个并发线程数,10秒增加2个线程,平均TPS达到了268.4/sec,响应时间也在1秒钟内,并发线程数18的时候最高tps达到了430,虽然有0.01%的报错,但是在可承受范围之内,符合websocket请求压测的预期

jmeter压测websocket协议其他资料参考阿里云:https://help.aliyun.com/document_detail/93627.html

服务器名称或IP:WebSocket端点(主机,服务器端WebSocket组件所在的位置)
端口号:WebSocker服务器侦听的端口,通常是HTTP端口80
超时:连接 -设置连接的最长时间(以毫秒为单位),如果超出则采样器失败,响应 -响应消息相同
实现:唯一可用的是RFC6455(v13) - WebSocket协议标准的最新版本
协议:要使用的WebSocket协议:ws前缀标识WebSocket连接,wss前缀标识WebSocket安全连接
Streaming Connection:表示TCP会话是否保留,如果选中 - 连接将保持不变,如果未选中,则在第一次响应后将关闭连接
请求数据:定义外发消息
响应模式:采样器将等待响应以包含定义的模式(或直到响应超时发生)
关闭连接模式:与“响应模式”基本相同,但连接将被关闭
消息Backlog:标识要保留的响应消息的最大长度。

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值