使用emqtt_bench 压力测试 emqx集群

基础知识

# 官方文档(含参数演示)
    https://docs.emqx.com/zh/emqx/v5.8/performance/benchmark-emqtt-bench.html

# emqtt_bench 共三个子命令
    pub:  创建大量client,并执行发布主题操作
    sub:  创建大量client,并执行订阅主题,并接受消息的操作
    conn: 创建大量连接

# 帮助手册
    emqtt_bench pub --help
    emqtt_bench sub --help
    emqtt_bench conn --help

# 特别说明的几个参数
    -V                          # 可选参数(3|4|5),分别表示 MQTT v3.1,MQTT v3.1.1,MQTT v5 
    --ifaddr 192.168.0.100      # 指定用某个ip发起连接

如何启动emqtt-bench

## 拉取镜像,并启动容器,并进入其命令行便可以执行测试命令(不要尝试-d 后台运行,我就没成功过)
    docker pull emqx/emqtt-bench:latest
    docker run --rm -it --name emqtt-bench --network host --entrypoint bash emqx/emqtt-bench:latest

emqtt典型测试场景

## A、仅连接数测试(单纯看能连多少)
    # 启动2000个连接测试
    emqtt_bench conn -h 192.168.60.81 -p 1883 -c 2000

## B、吞吐测试(找两个emqtt_bench,一个先启动订阅,一个后启动发布)
    # 第一步、在 1号 emqtt_bench 测试机上 启动 1w 个订阅客户端(-V 4 表示 MQTT v3.1.1)
    emqtt_bench sub -h 192.168.60.81 -p 1883 -t "t/%i" -c 10000 -V 4

    # 第二步、同时 在 2号 emqtt_bench 测试机上 启动 1w 个发布端,间隔30s发布一条大小为16KB的QoS 0消息。
    emqtt_bench pub -h 192.168.60.81 -p 1883 -t "t/%i" -c 10000 -I 30000 -s 16384  -q 0 -V 4

## 性能观察(单纯连接 资源占用很低,主要是订阅消息耗费资源,建议haprox,emqx 主机的CPU 主频尽可能高)
    # 在允许emqx 容器的主机上执行 top -H 查看 emqx调度器是否分配了 与cpu对应的 线程数量
    top -H

file

声明:本文为原创,作者为 辣条①号,转载时请保留本声明及附带文章链接:https://boke.wsfnk.com/archives/1471.html
谢谢你请我吃辣条谢谢你请我吃辣条

如果文章对你有帮助,欢迎点击上方按钮打赏作者

最后编辑于:2025/5/10作者: 辣条①号

目标:网络规划设计师、系统工程师、ceph存储工程师、云计算工程师。 不负遇见,不谈亏欠!

暂无评论

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注

arrow grin ! ? cool roll eek evil razz mrgreen smile oops lol mad twisted wink idea cry shock neutral sad ???

文章目录