随笔 - 495  文章 - 1  评论 - 17  阅读 - 38万

JMeter MQTT 在连接测试场景中的使用

通过之前的文章,相信大家已经熟悉了 JMeter 及 MQTT 插件的使用等基础知识。从本文开始,我们利用这些测试工具进行测试实战。本文将介绍 MQTT 连接的测试。

连接场景分析

插件中 MQTT Connect 请求主要模拟设备与 MQTT 服务器(本文以 EMQX 为例)建立连接,并按指定间隔发送 MQTT keep alive 报文,在物联网实际场景中经常需要海量设备连接并保持在线,大量设备同时上线及下线;本文脚本将模拟 400 个设备同时与 EMQX 建立连接,并保持连接 30 分钟后同时下线。

如何使用 MQTT 插件编写测试脚本

  1. 在测试计划下创建线程组。

JMeter 创建线程组

  1. 在线程组下添加“MQTT 连接采样器”(即"MQTT Connect")

JMeter 添加 MQTT 连接采样器

  1. 在 MQTT 连接采样器下添加“同步定时器”,确保所有线程在同一时间开始建立连接。

JMeter 添加同步定时器

  1. 在线程组下添加“测试活动”,用于控制建立连接后连接保持的时间。

JMeter 添加测试活动

  1. 在线程组下添加“MQTT 断开连接采样器” (即"MQTT DisConnect"),模拟设备同时断开连接。

JMeter 添加 MQTT 断开连接采样器

  1. 在测试计划下创建“汇总报告”和“察看结果树”监听器,用于检查 JMeter 请求结果。

JMeter 汇总报告

JMeter 察看结果树

测试的执行

对编写好的脚本进行调试验证,确认 MQTT Broker 的连通性及脚本运行逻辑符合预期后,将线程组页面的线程组数修改为 400,页面点击 Start 按钮执行测试。

JMeter Start

查看连接结果,从汇总报告看出吞吐量为 394.9/s,即 400 客户端在 1 秒内同时连接。
JMeter 汇总报告2

JMeter 查看采样器结果

登录 EMQX Dashboard 页面,显示如下:

EMQX Dashboard

附件:样例脚本

读者可下载测试脚本运行并查看结果。

版权声明: 本文为 EMQ 原创,转载请注明出处。

原文链接:https://www.emqx.com/zh/blog/test-mqtt-connection-with-jmeter

posted on   EMQX  阅读(616)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
< 2025年3月 >
23 24 25 26 27 28 1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30 31 1 2 3 4 5

点击右上角即可分享
微信分享提示