zl程序教程

您现在的位置是:首页 >  其他

当前栏目

【保姆级】JMeter Mqtt 压测配置

2023-04-18 14:23:49 时间

忽然有个紧急任务要对某个服务做MQTT做压测,紧急实操下JMeter,这里记录下非专业测试员的测试过程、(´▽`),欢迎👏大家检查指点( ̄∇ ̄)/

下载⏬工具

JMeter官方下载地址

https://jmeter.apache.org/download_jmeter.cgi

然后解压,一般长这样(如下图)

MQTT jar包下载地址

https://github.com/emqx/mqtt-jmeter

选个版本

将下载好的jar包放入解压后的文件夹lib中的ext文件夹中(具体位置如下题),之后重启JMeter

新建🆕组件

添加线程组(Thread Group)

JMeter执行是通过线程组进行驱动的,测试计划必须最少有一个线程组

右键:Add>Threads(Users)>Thread Group

添加取样器(Sampler)

添加连接请求

选中刚才创建的线程组,右键::Add>Sampler>MQTT Connect

添加发布请求

选中刚才创建的线程组,右键:Add>Sampler>MQTT Pub Sampler

添加订阅请求

选中刚才创建的线程组,右键:Add>Sampler>MQTT Sub Sampler

添加控制器

仅执行一次控制器

由于在测试过程中我们一般只需要连接一次,所以添加一个仅一次控制器(不管执行多少次循环,这个线程只执行一次)

右键:Thread Group>Add>Logic Controller>Once Only Controller

添加完成后将 MQTT Connect 移到 Once Only Controller 里面

循环控制器

因为要循环发送MQTT消息

右键:Thread Group>Add>Logic Controller>Loop Controller

添加完成后将 MQTT Sub Sampler 移到 Loop Controller 里面

添加监听器

用于查看结果树、报告等测试结果(请求参数和响应结果等)

右键线程组,Add>Listener>View Results Tree/Summary Report/Aggregate Report(主要是这3个,具体根据实际情况进行添加)

需要的都添加完成后,长下图这个样子

参数配置说明

配置线程信息

序号1处配置线程数量,序号2处配置循环次数

配置MQTT连接信息

序号1处配置IP地址,序号2处配置用户名和密码(如果有的话,没有就空着)

配置topic

配置订阅的topic

配置发布的topic

序号1处配置发布的topic,序号2处放发送的消息

配置执行次数

给循环控制器配置循环次数(如下图,配的是100,如果选旁边Infinite就会一直发)

消息发布的总次数就是一开始线程中的循环次数*这里配置的循环次数