天天看点

jmeter-MQTT 压测实践

概述

前面一篇文章介绍过什么是MQTT。今天这篇主要介绍怎么通过jmeter去压测MQTT消息

EMQ平台发布消息

根据之前的文章,我们知道MQTT有消息发布和消息订阅两个模块。我们可以订阅主题的模式,批量接收消息。

首先,我们把EMQ作为一个订阅主题的客户端,保持websocket连接状态。如下图

jmeter-MQTT 压测实践

接下来发布一个主题,名为测试主题

jmeter-MQTT 压测实践

QOS=0,表示当前发出的消息不需要客户端应答,也不会被服务端存储,此时发送的速度最快

接着我们尝试用客户端在主题中发送一次消息给接收方。注意:消息发布的主题需要和之前创建的主题保持一致

主题发布的消息

jmeter-MQTT 压测实践

客户端接收到的消息

jmeter-MQTT 压测实践

jmeter通过主题发布消息

添加MQTT Publisher (发布者)

jmeter-MQTT 压测实践

配置发布客户端的参数

MQTT中间件的地址:tcp://10.200.4.250:1883;端口默认1883

客户端id:1591774294423.8107111

Topic:测试主题

Keep Alive:保持长连接6000ms

用户名密码

QOS发布状态:0;最多发布一次,不接受回执,不保存消息

发布的消息:111

100线程持续运行,观察tps和响应时间,链接时间

TPS

jmeter-MQTT 压测实践

连接时间

MQTT协议的头部信息只有两个字节,是超轻量的协议,几乎不占用带宽,所以连接时间几乎都是0

jmeter-MQTT 压测实践

继续阅读