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工具测试和压测websocket协议【杭州多测师_王sir】_第1张图片

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

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

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

jmeter工具测试和压测websocket协议【杭州多测师_王sir】_第2张图片

jmeter工具测试和压测websocket协议【杭州多测师_王sir】_第3张图片

四、创建websocket请求

jmeter工具测试和压测websocket协议【杭州多测师_王sir】_第4张图片

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

jmeter工具测试和压测websocket协议【杭州多测师_王sir】_第5张图片

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

jmeter工具测试和压测websocket协议【杭州多测师_王sir】_第6张图片

jmeter工具测试和压测websocket协议【杭州多测师_王sir】_第7张图片

jmeter工具测试和压测websocket协议【杭州多测师_王sir】_第8张图片

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

jmeter工具测试和压测websocket协议【杭州多测师_王sir】_第9张图片

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

jmeter工具测试和压测websocket协议【杭州多测师_王sir】_第10张图片

jmeter工具测试和压测websocket协议【杭州多测师_王sir】_第11张图片

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

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

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

jmeter工具测试和压测websocket协议【杭州多测师_王sir】_第12张图片

jmeter工具测试和压测websocket协议【杭州多测师_王sir】_第13张图片

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

jmeter工具测试和压测websocket协议【杭州多测师_王sir】_第14张图片

jmeter工具测试和压测websocket协议【杭州多测师_王sir】_第15张图片

jmeter工具测试和压测websocket协议【杭州多测师_王sir】_第16张图片

jmeter工具测试和压测websocket协议【杭州多测师_王sir】_第17张图片

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:标识要保留的响应消息的最大长度。

你可能感兴趣的:(jmeter,websocket,网络协议,网络)