测试目的

测试 EMQ X 企业版 4.3.4 单节点并发连接 10 万、以每秒 10 万 QoS 1、payload 200B 的消息发布速率持久化至 PostgreSQL 所需 EMQ X 资源及响应时间等性能指标。

测试架构

PostgreSQL 测试架构

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

测试环境

腾讯云南京区 VPC

测试工具

XMeter 企业版 v3.0

EMQ X、PostgreSQL、测试机配置

服务 数量 版本 操作系统 CPU 内存 云主机型号
EMQ X 1 企业版 v4.3.4 Centos 7.8 64核 128G C5.16xlarge128
PostgreSQL 1 10.18 Centos 7.8 16核 64G C5.4xlarge32
XMeter 管理机 2 3.0 Centos 7.3 8核 16G C5.2xlarge16
XMeter 压力机 5~8 / Centos 7.3 8核 16G C5.2xlarge16

测试场景

如测试架构图中所示,XMeter 压力机模拟 10 万 MQTT 客户端向 EMQ X 发起连接,新增连接速率为每秒 2000,客户端心跳间隔(keep alive)300 秒。所有连接成功后每个客户端每秒发送一条 QoS 为 1、payload 为 200B 的消息,所有消息通过规则引擎存储至 PostgreSQL。

测试执行1个小时。

规则引擎配置

PostgreSQL 资源设置

PostgreSQL 资源设置

规则设置

PostgreSQL 规则设置

PostgreSQL 规则设置 2

启用异步、批量插入

PostgreSQL 配置文件

本次测试修改了 PostgreSQL 配置文件 /var/lib/pgsql/10/data/postgresql.conf 中的下面三个参数:

shared_buffers = 25GB

max_wal_size = 4GB

min_wal_size = 1GB

其他保持默认值。

测试结果

EMQ X Dashboard 统计

EMQ X Dashboard 统计

EMQ X 规则引擎统计

EMQ X 规则引擎统计

EMQ X 节点资源使用

EMQ X 节点资源使用

想要获取完整版?

下载地址将会发送至您填写的邮箱