0X00

MQTT百度百科:

MQTT(消息队列遥测传输)是ISO 标准(ISO/IEC PRF 20922)下基于发布/订阅范式的消息协议。它工作在 TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议,为此,它需要一个消息中间件 。
MQTT是一个基于客户端-服务器的消息发布/订阅传输协议。MQTT协议是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛。在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。其在,通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。

公司最近搞物联网,使用到了MQTT协议,如果要搞测试,得有工具。首先一个是MQTT fx,就是它
JMeter插件-MQTT测试MQTT服务器
它确实能满足一部分要求,比如调试或部分功能测试,但是涉及到了批量数据,例稳定性测试,需要批量向服务器发数据,就力不从心了。
这时候jmeter的灵活性就显出来了,它可以添加不同的插件,本文中使用了mqtt-xmeter-2.0.2-jar-with-dependencies.jar 这个插件。
mqtt Github地址
如果国外网址不好使,那可以去这里 mqtt CSDN连接

0x01

将mqtt-xmeter-2.0.2-jar-with-dependencies.jar放到jmeter\lib\ext目录下,重启jmeter,就可以在线程组下看到
JMeter插件-MQTT测试MQTT服务器
好了,开始一系列的常规操作,添加http信息头、cookie管理器,用户定义变量、计数器、线程组、http请求等。
先看下整体全貌。
JMeter插件-MQTT测试MQTT服务器

0x02

因为只需要连接一次,所以将connect放到仅一次控制器中即可。connect中填写server IP和端口号,用户名和密码。可以将IP和port放到用户自定义变量中,使用起来更方便。
JMeter插件-MQTT测试MQTT服务器
添加MQTT Pub Sampler,topic name 根据协议来。
JMeter插件-MQTT测试MQTT服务器
至于注册没注册上,可以查看数据库,比如Navicat工具等,当然也可以在jmeter中添加相应的判断,比如数据库使用的是postgre,就可以在JDBC Connection Configuration中添加postgre的配置。

database URL:jdbc:postgresql://ServerIP:{ServerIP}:{DBport}/thingsboard?characterEncoding#UTF-8

JDBCDriver class: org.postgresql.Driver

JMeter插件-MQTT测试MQTT服务器
剩下的就是自由发挥了,可以写入自己想要的断言,添加断言等。

0x03

了解各种工具,并合理的组合,能事半功倍。
说起来容易,做起来难,必须得有长时间的技术浸泡,才能了解到大多数工具的点。站在巨人的肩膀上,不一定要造轮子。

相关文章: