JMeter之mqtt-jmeter 插件介绍

前言

  mqtt-jmeter插件是JMeter中的一个第三方插件,用于支持MQTT(Message Queuing Telemetry Transport)协议的性能测试。MQTT是一种轻量级的发布/订阅消息传输协议,广泛应用于物联网和传感器网络中。


一、安装插件

  • mqtt-jmeter项目地址:地址
  • mqtt-jmeter下载地址:地址

把下载的 ***.jar 插件复制到apache-jmeter安装目录\lib\ext\下


二、连接MQTT服务器

1、插件安装完成后,运行Jmeter我们就能看见mqtt相关的插件了
在这里插入图片描述

2、添加MQTT Connect,右击 线程组-添加-取样器-MQTT Connect
在这里插入图片描述

名称说明
Server name or IP指向被测 MQTT 服务器地址
Port numberMQTT 服务器端口,默认 TCP 连接的端口是 1883
MQTT version目前支持 MQTT 3.1及3.1.1版本
Timeout连接超时设置,以秒为单位
Protocols支持TCP、SSL、WS 和 WSS 方式连接 MQTT 服务器。当选择 SSL 或 WSS 加密通道连接时,可以选择单向或者双向认证(Dual)。如果希望进行双向认证,还需要指定相应的客户端证书(p12证书),以及对应的文件保护密码(Secret)
User authentication如果 MQTT 服务器配置了用户认证,需要提供相应的用户名(User name)和密码(Password)
ClientId虚拟用户的标识。如果勾选了「Add random suffix for ClientId」,将会在 ClientId 的基础上给每个虚拟用户再添加一个 uuid 串作为后缀,整个作为虚拟用户标识
Keep alive(s)心跳信号发送间隔。例如,300 表示客户端每隔 300 秒向服务器发出 ping 请求,以保持连接活跃
Connect attempt max第一次连接过程中,尝试重连的最大次数。超过该次数则认为连接失败。如果希望一直尝试重连,可以设为 -1
Reconnect attempt max后继连接过程中,尝试重连的最大次数。超过该次数则认为连接失败。如果希望一直尝试重连,可以设为 -1
Clean session如果希望在连接之间保留会话状态,可以将该选项设为 false。如果不希望在新的连接中保留会话状态,则将该项设为true

3、添加MQTT Pub Sampler ,右击线程组-添加-取样器-MQTT Pub Sampler
在这里插入图片描述

名称说明
QoS Level服务质量,取值为 0,1,2,分别代表 MQTT 协议规范里的至多一次(AT_MOST_ONCE),至少一次(AT_LEAST_ONCE),精确一次(EXACTLY_ONCE)
Retained messages如果希望使用「保留消息」,可将该选项设为 true,MQTT 服务器端将会存储插件发布的保留消息及其 QoS,并在相应 topic 上发生订阅时,直接将最后一条保留消息投递给订阅端,使得订阅端不必等待即可获取发布端的最新状态值
Topic name发布消息所属的主题
Add timestamp in payload如果勾选,发布的消息体开头会附带当前时间戳,配合消息订阅采样器的 Payload includes timestamp 选项,可以在消息接收端计算消息达到的延时。如果不勾选则只发送实际的消息体
Payloads Message type目前支持三种消息类型:【String: 普通字符串】【Hex String: 以 16 进制数值表示的串,比如字符串 Hello, 可以表示为 48656C6C6F (其中,48在ascii表中对应字母H,依次类推)。通常 16 进制串用来构造非文本的消息体,例如描述某些私有的协议交互和控制信息等等】【Random string with fixed length: 按指定长度(单位为byte)生成随机串作为消息体】

4、添加MQTT Sub Sampler,右击线程组-添加-取样器-MQTT Sub Sampler
在这里插入图片描述

名称说明
QoS Level服务质量,含义与消息发布采样器相同
Topic name(s)订阅消息所属的主题。支持单个消息订阅采样器订阅多个主题,主题之间用逗号分隔
Payload includes timestamp如果勾选,会从消息体开头处解析发送时间戳,配合消息发布采样器的 Add timestamp in payload 选项,可以用于计算消息的接收延时。如果不勾选则只解析实际的消息体
Sample on采样方式,默认为"specified elapsed time(ms)“,即每隔指定的毫秒时间采样一次。也可以选择"number of received messages”,即每接收到指定的消息数采样一次
Debug response如果勾选,消息内容会打印在 JMeter 的响应结果中。该选项主要用于调试目的,正式运行测试不建议勾选,以免影响测试效率

5、添加MQTT DisConnect,右击线程组-添加-取样器-MQTT DisConnect

  • MQTT DisConnect作用主要是用来断开MQTT连接的
    在这里插入图片描述

6、 添加查看结果树,右键线程组-添加-监听器-查看结果树,运行刚刚添加的MQTT请求,结果如下:
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值