【保姆级】JMeter Mqtt 压测配置

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

下载⏬工具

JMeter官方下载地址

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

【保姆级】JMeter Mqtt 压测配置_第1张图片
【保姆级】JMeter Mqtt 压测配置_第2张图片

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

【保姆级】JMeter Mqtt 压测配置_第3张图片

MQTT jar包下载地址

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

【保姆级】JMeter Mqtt 压测配置_第4张图片

选个版本

【保姆级】JMeter Mqtt 压测配置_第5张图片
【保姆级】JMeter Mqtt 压测配置_第6张图片

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

【保姆级】JMeter Mqtt 压测配置_第7张图片

新建组件

添加线程组(Thread Group)

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

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

【保姆级】JMeter Mqtt 压测配置_第8张图片

添加取样器(Sampler)

添加连接请求

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

【保姆级】JMeter Mqtt 压测配置_第9张图片

添加发布请求

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

【保姆级】JMeter Mqtt 压测配置_第10张图片

添加订阅请求

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

【保姆级】JMeter Mqtt 压测配置_第11张图片

添加控制器

仅执行一次控制器

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

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

【保姆级】JMeter Mqtt 压测配置_第12张图片

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

循环控制器

因为要循环发送MQTT消息

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

【保姆级】JMeter Mqtt 压测配置_第13张图片

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

添加监听器

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

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

【保姆级】JMeter Mqtt 压测配置_第14张图片

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

【保姆级】JMeter Mqtt 压测配置_第15张图片

参数配置说明

配置线程信息

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

【保姆级】JMeter Mqtt 压测配置_第16张图片

配置MQTT连接信息

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

【保姆级】JMeter Mqtt 压测配置_第17张图片

配置topic

配置订阅的topic

【保姆级】JMeter Mqtt 压测配置_第18张图片

配置发布的topic

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

【保姆级】JMeter Mqtt 压测配置_第19张图片

配置执行次数

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

【保姆级】JMeter Mqtt 压测配置_第20张图片

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

你可能感兴趣的:(jmeter,java,压力测试,MQTT)