官方给的基础测试方案是docker镜像benchmark
下载后进行本地 连接测试 发布 和接收测试
docker run --network=host -it emqx/emqtt-bench conn -c 10000 -h 172.31.32.1.1 -k 20
docker run --network=host -it emqx/emqtt-bench pub -t hello -h 172.31.32.1 -s 10240 -q 0 -c 1 -I 10
docker run --network=host -it emqx/emqtt-bench sub -t hello -h 172.31.32.1 -c 10
这种测试方案没有针对业务数据特性测试,只是从客户端连接数量 每秒发送数量 以及每秒接收数量比较笼统的测试
针对项目或者业务的数据特性 topic数量 传输频率 大小 进行定制化测试
基于paho.mqtt.cpp 官方MQTT/C++ client 进行发布和测试
异步客户端async_client 异步pub的监听delivery_action_listener 客户端maxBufferedMessages的设置 开启本地持久化的目录persistDir
接收侧 cli.subscribe(topic], QOS)->wait(); 绑定多个topic
结合实际项目进行测试后 给出一些重要指标
pub clinets数量
sub clients数量
topic数量
某个topic数据发送频率 大小
broker设置:
单条最大长度
真实发送到broker的数据MB/S
真实接收到数据MB/S
实测结果 68MB/s 数据发送延迟1-2S 6个客户端全部收到