首页 > 云计算 > 公有云实践 > 基于Jmeter压测IoT物联网平台的性能——实践类
原始链接 https://mp.weixin.qq.com/s/p2zYb5g4buoQwpnT-cBXPQ
背景
MQTT 是超轻量级消息协议,用于连接移动端与云服务双向通信,广泛应用于物联网(IoT)领域,如设备向云端上报状态、云端向设备推送消息、设备端A向设备端B发送消息等场景。
本文以充电宝机柜上报状态场景为例介绍如何使用 MQTT 插件和 JMeter 脚本压测IoT物联网平台的 MQTT 服务性能。
准备工作
开通IoT物联网设备接入服务。
https://www.aliyun.com/product/iot-deviceconnect
安装JMeter 5.1.1版本 版本
压测实战
我们在IoT物联网平台设备管理中,创建一个充电宝产品,并注册10个设备,获得身份三元组。
每个设备和IoT物联网平台建立连接时,需要提供UserName 、 Password 、 ClientId 这 3个身份信息,上报状态数据时需要知道自身的productKey和deviceName来确定通信Topic。
依照IoT物联网平台身份认证文档,我们把三元组转换成UserName 、 Password 、 ClientId,存储到client.csv文件中。示例如下:
下载 mqtt-jmeter 插件最新版本 JAR 包:mqtt-xmeter-2.0.2-jar-with-dependencies.jar 。下载地址:
拷贝插件 JAR 包到 JMeter 安装目录的
lib/ext/ 子目录下。操作过程如下:
我们以 JMeter 5.1.1 英文图形界面为例。
4.1 配置客户端 CSV 数据文件
Filename :客户端信息 CSV 文件路径
client.csv 。
File encoding:CSV 文件编码格式,本示例使用
UTF-8 。
Delimiter:这里我们输入
# 。
Recycle on EOF:是否循环读取文件。选择
False。
4.2 建立 MQTT 连接
我们使用 Once Only Controller 控制一个客户端只需执行一次建连操作。
4.3 配置发布消息
QoS Level:客户端向服务器发布消息的服务质量。本示例中选择
0,即只发送一次,丢失不重发,可按需选择其他级别。
Topic name:消息 topic 。MQTT topic 支持层次结构,使用 / 分割,类似文件路径,如
pts_test/jmeter 等。
Add timestamp in payload:是否添加消息头添加发送时间戳。一般勾选此项,方便测试时检查消息延迟。
Payloads:消息体。本示例中填写
this message is from jmeter ${clientId}!,即在消息体中添加客户端 ID,方便测试和调试检查。
4.4 启动压测脚本
4.5 IoT物联网平台控制台日志

物联网平台产品介绍详情:

阿里云物联网平台客户交流群
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/70017009/viewspace-2919486/ ,如需转载,请注明出处,否则将追究法律责任。