5 分钟创建并运行你的第一个 MQTT Benchmark
使用可达且已获授权的 Broker,创建安全的 25 Client Fan-out 基线,通过 Preflight,并在 5 分钟内验证实时 MQTT 流量。
- 作者:
- Mqttable
- 更新:
本页目录9 个章节
加载中...
使用可达且已获授权的 Broker,创建安全的 25 Client Fan-out 基线,通过 Preflight,并在 5 分钟内验证实时 MQTT 流量。
加载中...
使用 1 个 Publisher 和 24 个 Subscriber 创建一组小规模、可重复的 MQTT Benchmark。连接获授权 Broker、载入 Fan-out 场景、通过 Preflight,然后确认实时流量符合预期。
开始条件
已安装应用 · 获授权 Broker · 准确 endpoint
安全基线
1 个 Publisher · 24 个 Subscriber · 45 秒
流量
完成标准
在线 25 · 发送 1/s · 接收 24/s · 0 个错误
从 Mqttable 侧边栏打开压测。如果当前 Runtime 没有已保存的 Benchmark 目标,选择立即压测。
在新建 Broker中填写:
First Fan-out;45 秒;0 秒;立即压测不会启动或部署 Broker。 截图中的一次性文档目标名为 Bench Docs Demo,地址是 mqtt://127.0.0.1:18883;除非你已经在该地址启动自己的 listener,否则不要照抄这个 endpoint。
选择测试连接。只有 MQTT 3.1.1 和 MQTT 5.0 都显示连接正常后,才能选择创建。

使用自己的获授权 endpoint;两种协议测试都通过后才能创建目标。
打开烧杯菜单,选择扇出(1 发布端 → 1 千订阅端)。模板会创建:
fanout-pub:1 个 Publisher,每秒向 fo/data 发送一条 QoS 1 消息;fanout-sub:1,000 个 Subscriber,订阅 fo/#。不要直接运行载入后的 1K 模板。 它是可编辑场景,不是安全的首次运行规模。

载入完整 Fan-out 计划,然后在 Preflight 或开始前缩小 Subscriber 规模。
打开 fanout-sub,只修改两个值:
1000 → 24;100 → 24 客户端/秒。保存 Group。保留 fo-sub-{index}、MQTT 5.0、Clean Start 和 300 秒 Keep Alive。模板已经提供相互匹配的 fo/data Scheduled Message 和 fo/# Subscription;第一次运行不需要打开或重新创建它们。

首次运行的安全边界是 24 个 Subscriber,目标每秒新建 24 个连接。
选择运行预检。创建负载前,确认 Summary 显示:
fanout-pub 和 fanout-sub;把结果作为运行门禁:

Preflight 必须准确描述准备运行的 workload,并且不能留下未解决的阻塞项。
Warm-up 为 0 时,选择开始会从 Setup 直接进入 45 秒 Measurement,然后进入 Disconnecting。
Measurement 期间,将实时卡片与计划对照:

在线数、发送速率和接收速率之间的关系证明基线正按配置运行。
成功: 你的第一个 Benchmark 已经在自己的获授权 Broker 上运行。可以在这里停止——5 分钟路径已经完成。只有需要理解、导出、自定义、排错或删除时,才继续阅读。
45 秒后,必须看到正在显示上次运行快照 · 已完成,Phase Timer 为 00:00:45。Disconnecting 后,实时在线数、发送速率和接收速率会正确回到 0;应使用保留图表判断已经结束的 Measurement。
在延迟中:

已完成和保留图表证明 Measurement 结束;实时速率归零证明 teardown 完成。
这些数值只描述本次运行。Loopback 结果不是远程 Broker 容量结论。比较两轮结果前,应保持 Broker、网络路径、Payload、QoS、规模、时长和负载生成主机条件可比。
需要保存可移植证据时,打开图表操作 → 导出全部数据。Mqttable 会下载 benchmark_all_charts_data.csv;正式导出包含 Measurement rows,不包含 Warm-up rows。

导出全部数据可以在实时图表之外保存已完成的 Measurement。
每次只改变一个维度,让下一轮结果仍然可以解释:
任何配置变化都会使上一次 Preflight 过期。开始前必须重新运行。
fo/data 对应 fo/#。需要继续编辑和运行时保留该目标。需要移除时,先停止正在运行的任务,选择步骤 1 中创建的准确 Broker identity,然后在编辑 Broker中选择删除。截图显示文档目标 Bench Docs Demo;实际操作必须选择你自己的准确名称。

只删除准确的教程目标;它的 Group、Client 和相关 Benchmark 数据也会被移除。
能力与安全边界:
1–600 秒 Measurement。Pro 不限制时长;Run Duration = 0 表示无限 Measurement,因此需要 Pro。完成基线后,可以用 Monitor 关联 Runtime 资源和 Benchmark phases,或用 Proxy 引入受控网络故障。