分布式 mqtt服务器 测试结果
试验MMQ(MQTT 分布式服务器)在低性能主机中实现一万连接和百万消息吞吐的基准测试,本次测试使用了 3 个 MMQ 节点的集群,每个节点所在机器为华为云。
测试目的
试验MMQ(MQTT 分布式服务器)在低性能主机中实现一万连接和百万消息吞吐的基准测试,本次测试使用了 3 个 MMQ 节点的集群,每个节点所在机器为华为云。
测试场景
本次测试使用华为云主机(1vCPUs | 1GiB | s6.small.1)和弹性公网1 Mbit/s,3 个 MMQ 节点和测试机在同一个 vpc 中,主要进行了 1 万的 MQTT 连接加上 QoS0 百万消息吞吐具体如下所示。
注:如果不做特别说明,所有的连接默认都设置了 300 秒的心跳时间,所有的消息 payload 均为 50 字节。
1万 MQTT 连接、QoS0 广播场景百万消息吞吐
1万 MQTT 客户端以每秒 1000的新增连接速率接入MMQ 集群,连接完成后每秒向MMQ集群发送消息。因此,总的消息发布吞吐率为每秒 10000 条。
测试结果概述
- 平均连接速率达到 2000条/秒,连接平均响应时间 4.2ms
- 每个节点 MMQ CPU 平均使用 64%,1万客户端全部连接后消息收发期间每节点 MMQ CPU使用范围为 50%~70%
- 每个节点 MMQ 内存平均使用 500M,1万客户端全部连接后消息收发期间每节点 MMQ 内存使用范围为 400GMB~500MB
|
|
最小响应时间 (s) |
最大响应时间(s) |
平均响应时间(s) |
平均吞吐量 |
MMQ CPU 使用 |
MMQ 内存使用(M) |
|
MQTT 连接 |
0.002 |
0.03 |
0.0042 |
19978 |
50%~70% |
400~500 |
|
MQTT Pub |
/ |
/ |
/ |
1000 |
测试环境及部署
华为云中的测试部署如下所示,本次测试共使用 1 台测试机,模拟 1万 MQTT 连接和1万QoS 0 消息吞吐,JMeter 提供的基于 JMeter MQTT 插件的测试工具来模拟业务测试场景.
MMQ / JMeter配置:
|
节点 |
数量 |
版本 |
操作系统 |
CPU |
内存 |
硬盘 |
|
MMQ |
3 |
1.1.1 |
Centos 8 |
1核 |
1G |
40G |
|
JMeter压力测试机 |
1 |
5,4,1 |
Win 10 |
8核 |
16G |
40G |
更多推荐



所有评论(0)