- 文档首页
云原生消息引擎
MQTT 实例用户指南
最佳实践
eMQTT-Bench 测试 EMQX
eMQTT-Bench 测试 EMQX
eMQTT-Bench 是一款开源的 MQTT Benchmark性能测试工具,云原生消息引擎 MQTT 版可以兼容 eMQTT-Bench 工具。借助本文,可以实现通过 eMQTT-Bench 工具完成对云原生消息引擎 MQTT 版的性能压测。
- 创建 ECS 实例,计算规格为16核CPU,32GiB内存,推荐型号 ecs.c3i.4xlarge。详细操作参见通过向导购买实例。
- 请确保 ECS 和 MQTT 服务器部署在相同的 VPC 内。
- 因 eMQTT-Bench 对新操作系统兼容性未完全适配,ECS 操作系统请选择 CentOS 7.9。
- ECS 单张网卡最大推荐 50000 TCP连接,如果测试连接数大于 50000,请在一台 ECS 上挂载多张网卡;如果测试连接数大于 20万,请使用多台 ECS 组合完成测试。
- 例如 20万连接数测试,请挂载 4 张网卡(一张主网卡,三张辅助网卡),使每张网卡发起 50000 MQTT 连接。例如 100万连接数测试,请使用 5 台 ECS 发起测试。
- 完成 ECS 初始化配置(如未配置,单张网卡最大 2.8万 MQTT 连接)。
sysctl -w net.ipv4.ip_local_port_range="500 65535"
echo 1000000 > /proc/sys/fs/nr_open
- 配置辅助网卡路由(如未配置,则只能通过主网卡发送流量)。
wget http://mirrors.ivolces.com/extra-tools/centos/7/rpms/multi-nic-hotlog-for-centos7-v1.0.1-1.ve1.x86_64.rpm
yum install ./multi-nic-hotlog-for-centos7-v1.0.1-1.ve1.x86_64.rpm
- 创建一个用户名为 user 的用户,密码为 123456。该用户对所有 Topic 都有发布和订阅权限,详细操作参考快速构建第一个 MQTT 连接。
- 在 ECS 中新建 eMQTT-Bench 目录。
mkdir emqtt-bench && cd emqtt-bench
- 如果 ECS 操作系统使用 CentOS 7.9,则必须选择 el7-amd64 发行包。复制地址,并在 ECS 中使用 wget 下载。
- 如网络卡顿,可以本地下载该文件再上传到对象存储 TOS,设置文件的读写权限为公共读。ECS 可以通过该文件的 TOS 地址完成下载。
wget https://github.com/emqx/emqtt-bench/releases/download/0.4.34/emqtt-bench-0.4.34-el7-amd64.tar.gz
tar zxf emqtt-bench-0.4.34-el7-amd64.tar.gz
- 运行 ./emqtt_bench 命令,测试是否安装成功。
- 其中,-h 为要连接的 MQTT 服务器 VPC TCP 接入点地址,需要根据实际情况替换。
./emqtt_bench conn -h ${mqtt-xxxxxxxxxxxx.mqtt.ivolces.com} -p 1883 --username user --password 123456 -c 10 -i 10
- 假设 192.168.2.1 为主网卡 IP 地址,192.168.2.11/12/13 为辅助网卡 IP 地址。
./emqtt_bench conn -h ${mqtt-xxxxxxxxxxxx.mqtt.ivolces.com} -p 1883 -c 50000 -i 1 --username user --password 123456 --ifaddr 192.168.2.1
# 从第一张辅助网卡发送流量,下同(如果失败,则未配置辅助网卡路由)
./emqtt_bench conn -h ${mqtt-xxxxxxxxxxxx.mqtt.ivolces.com} -p 1883 -c 50000 -i 1 --username user --password 123456 --ifaddr 192.168.2.11
./emqtt_bench conn -h ${mqtt-xxxxxxxxxxxx.mqtt.ivolces.com} -p 1883 -c 50000 -i 1 --username user --password 123456 --ifaddr 192.168.2.12
./emqtt_bench conn -h ${mqtt-xxxxxxxxxxxx.mqtt.ivolces.com} -p 1883 -c 50000 -i 1 --username user --password 123456 --ifaddr 192.168.2.13
最近更新时间:2025.08.04 17:30:05