天天看点

MQTT压力测试工具之JMeter插件教程

<b>mqtt简介</b>

mqtt(message queuing telemetry transport,消息队列遥测传输)是ibm开发的一个即时通讯协议,它比较适合于在低带宽、不可靠的网络的进行远程传感器和控制设备通讯等,正在日益成为物联网通信协议的重要组成部分。mqtt现在主要用于移动push,移动im,物联网m2m,物联网采集等,这些应用场景的特点是客户端的连接设备数比较多,那么如何在系统上线之前验证系统能否承受预先设计的压力呢?

<b>jmeter mqtt插件</b>

发现了一些bug:比如脚本中某些值无法保存等

使用不方便:使用该插件的过程比较麻烦,需要手工解压/打包jmeter的包,容易出错

只支持jmeter2.1版本,现在jmeter官方的最新版本已经到3.1,想使用最新版本的jmeter就会有问题

<b>使用方法</b>

针对于这些问题,我们fork了该项目,并且修复了在使用过程中发现的这些bug,并且让使用过程变得更加简单。

如果之前已经开着jmeter,请先关闭

从这里选择相应版本的插件进行下载

将下载的2个文件(<b>apachejmeter_core.jar</b>, <b>mqtt-jmeter-jar-with-dependencies.jar</b>)拷贝到jmeter的插件目录: <b>$jmeter_home/lib/ext</b>

重新启动jmeter

具体的使用过程可以参考插件的github主页

<b>高级使用</b>

如果发现有问题,可以直接拉项目代码进行修改,或者在该项目上创建相应的issue。如果需要重新打包,运行工程下面的repack_jmeter_core.xml脚本就可以了。需要注意的是,在运行之前,请先修改好脚本里的下面两行的值。其中第一行是所要打包的jmeter的版本的文件名(不包括扩展名,而且下载的必须是tar文件),第二行是你下载文件所在的目录。

运行成功后会显示如下所示的内容,并把目录<b>/mqtt-jmeter/libs/${jmeter_tar_file_name}_new</b>中的两个jar文件拷贝至<b>$jmeter_home/lib/ext</b>目录下。

<b>大规模mqtt协议测试 – xmeter帮您提高效率,降低成本</b>

针对大规模的mqtt协议测试,可能需要准备大量的测试机器对被测系统进行打压,这个过程需要大量的准备机器环境,以及管理这些环境的工作,导致工作效率比较低、而且容易出错。xmeter将这些过程迁移至云端,用户只要关注测试脚本的实现过程,而无需关心这些测试环境的管理,而且提供了丰富的测试报告,让性能问题一目了然。

<b>免费试用</b>

点击“xmeter性能测试saas服务”免费试用,注册帐户,并上传mqtt测试脚本至xmeter,

xmeter性能测试saas服务

MQTT压力测试工具之JMeter插件教程

登录

<b>控制台</b>

输入测试参数,虚拟用户数和运行时间,提交测试。后台会根据用户输入的测试参数,自动创建相应的vm对目标系统进行打压.

<b>运行测试</b>

通过测试报告可以查看一些关于测试的信息,比如测试的连接数,持续时间,当前的测试状态,也可以将测试日志下载下来进行检查等

MQTT压力测试工具之JMeter插件教程

测试结果

实时产生的测试报告,允许用户查看性能测试过程中最关心的性能测试指标。

MQTT压力测试工具之JMeter插件教程

实时测试结果 -实时报告

MQTT压力测试工具之JMeter插件教程

实时测试结果 - 实时图表

测试历史记录都被保存下来,可以随时进行查看和比较。