白皮书
车联网设计与实现:搭建可靠、高效、符合行业需求的车联网平台 →

测试目的

测试 EMQX 企业版 4.3.5 单节点每秒 10 万 QoS 1、payload 200B 的消息持久化缓存至 Redis 所需 EMQX 资源及响应时间等性能指标。

测试架构

EMQX 持久化至 Redis

测试环境、机器配置及测试工具

测试环境

华为云 北京四区

测试工具

XMeter 企业版 v3.0

EMQX、Kafka集群配置、测试机配置

服务 数量 版本 操作系统 CPU 内存 云主机型号
EMQX 1 企业版v4.3.5 Centos 7.8 32核 64G c6.8xlarge.2
Redis 1 6.2.5 Centos 7.8 32核 128G c6.8large.4
XMeter管理机 2 3.2 Centos 7.8 8核 16G c6.2xlarge.2
XMeter压力机 15 / Centos 7.8 8核 16G c6.2xlarge.2

测试场景

如测试架构图中所示,XMeter 压力机模拟10万 MQTT 客户端向 EMQX 发起连接,新增连接速率为每秒 5000,客户端心跳间隔(keep alive)300 秒。所有连接成功后每个客户端每秒发送一条 QoS 为 1、payload 为 200B 的消息,所有消息通过规则引擎桥持久化发至 Redis 节点。这里 Redis 配置为消息缓存数据库(即消息总量超过Redis 配置的最大内存限制,将按照相应机制删除 Redis 中的消息)。

测试执行 1 个小时,规则引擎配置如下:

Redis 资源设置

Redis 资源设置

Redis 规则设置

Redis 规则设置

测试结果

EMQX Dashboard 统计

EMQX Dashboard 统计

EMQX Dashboard 消息数统计

从 EMQX Dashboard 上统计的测试期间的消息数,和规则上的命中次数、成功数一致。

EMQX Dashboard 消息数统计

EMQX 节点资源使用

EMQX 节点资源使用

详细测试结果

详细测试结果及系统调优脚本请填写右侧表单获取完整版 PDF 文件。