MQTT X v1.9.0 进行中:开箱即用的 MQTT bench 工具


十月初,MQTT X 团队发布了 1.8.3 版本。对桌面端应用实现了 MQTT 5.0 版本适配,MQTT X CLI 支持了多主题订阅,同时修复了多个已知问题。此外,团队正专注于 1.9.0 版本的开发,最主要的更新是为 MQTT X CLI 加入了新的命令 – bench,即 MQTT 性能测试命令,帮助用户可以创建、订阅和发布自定义数量的连接、主题与消息。安装或更新后即可快速使用,无需额外操作。

桌面端应用:添加帮助页面

作为一款强大的 MQTT 5.0 测试客户端工具,MQTT X 的愿景一直是帮助开发者可以更快地开发和调试 MQTT 服务与应用,同时也能在 MQTT 的研究与应用中更深入地理解 MQTT 协议及相关特性。

因此 MQTT X 除提供了简单高效的连接、发布和订阅等功能测试能力外,在目前正在开发的 1.9.0 版本中,还新增了一个帮助页面。该页面不仅提供了查看和使用 MQTT X 的文档链接,还提供了 MQTT 基础入门系列与实践编程系列的内容模块,帮助一些正在学习或初次接触到 MQTT 的用户快速了解 MQTT 协议,理解协议中的各项配置参数和使用方法,查看其使用场景与案例。此外还提供了各类编程语言、平台及框架下的丰富的客户端编程教程,助力用户使用 MQTT 协议快速完成物联网应用的开发。

MQTT X CLI:新增性能测试工具

MQTT X CLI 作为一款强大的 MQTT 命令行测试工具,不仅方便安装,支持在各类操作系统和平台中使用,还提供了丰富且完善的各类测试命令和较为完整的 MQTT 配置参数,方便用户快速集成到一些测试脚本中。

在 1.9.0 版本中,我们继续增强其功能性,为用户带来一个内置、开箱即用的性能测试命令bench 命令。用户只需简单安装或更新 MQTT X CLI 后,即可快速使用该命令,无需额外操作,方便易用。

如需大规模场景、深度定制化的测试服务推荐使用全托管 MQTT 负载测试云服务 Xmeter

用户使用 bench 命令可以使用规定速率,创建自定义数量的连接,订阅自定义数量的主题,向单个或多个主题中发送自定义数量的消息,通过一行命令即可简单的测试单个或集群下的 MQTT 服务器的连接性能,消息吞吐量等。例如:

  • 以每 10 毫秒创建一个连接的速率,创建 10000 个连接,客户端 ID 为 mqttx-bench-%i%i 为索引占位符,即第一个客户端连接的客户端 ID 就为 mqttx-bench-1

     mqttx bench conn -c 10000 -i 10 -I "mqttx-bench-%i"
  • 启动 5000 个订阅客户端连接,同时订阅主题 mqttx/bench/t

     mqttx bench sub -c 5000 -t mqttx/bench/t
  • 最后启动 200 个发布客户端连接,向主题 mqttx/bench/t 发布消息,消息速率为每秒 200 条,消息内容为 mqttx bench test

     mqttx bench pub -c 200 -im 1000 -t mqttx/bench/t -m "mqttx bench test"

通过以上简单的性能测试中的连接、订阅和发布命令,就可以轻松实现一些简单自定义场景下的 MQTT 性能基准测试,并通过其结果来调试和优化您的 MQTT 服务与系统环境,从而进一步提升您的物联网应用与服务。

MQTT X CLI 的 bench 命令不仅使用简单易上手,其内容输出也非常简洁。对于大量的连接、订阅和发布的输出内容,我们优化了其显示方式,通过动态更新实时的数量,避免在使用过程中被大量输出日志刷屏。

未来规划

MQTT X 还在持续增强完善中,以期为用户带来更多实用、强大的功能,为物联网平台的测试和开发提供便利。接下来我们将重点关注以下方面:

  • 使用体验升级

  • 接收到的数据支持自定义图表化

  • 插件系统(例如支持 SparkPlug B、集成 MQTT X CLI)

  • 脚本功能优化

  • 推出 MQTT X Mobile 移动端应用

  • 完善 MQTT X Web 功能

  • MQTT Debug 功能

版权声明: 本文为 EMQ 原创,转载请注明出处。

原文链接:https://www.emqx.com/zh/blog/mqttx-newsletter-202210


相關推薦

2022-12-17

对 smart-mqtt 性能作了很大的提升。 另外受制于性那压测工具 emqx-bench 无法支持 arm 架构的服务器,我们自研了能够实现跨平台的 Java 版压测工具:smart-mqtt-bench。 一、关于 smart-mqtt smart-mqtt 是用 java 语言开发的 MQTT Broker 服务,

2023-11-16

着决定性的影响。在 BifroMQ StandardCluster 版本中,已内置开箱即用的基于负载的拆分策略(以下简称Load-based Splitting)。该策略通过统计最近一段时间内的负载情况来决定对KV Range的划分,可以视为一种"后验"拆分策略。当使用场

2023-11-17

以通过 JVM 启动参数 inbox_store_range_voter_count 进行调整 注2:Inbox Service 提供了离线消息队列的全局访问能力,因此 MQTT 客户端重新连接到任何集群节点时都可以访问所属队列中的离线消息,无需引入在其他MQTT Broker集

2023-09-07

理解其内涵。下面将从三个主要角度对BifroMQ的整体架构进行高层次的描述。 ▌基于去中心化集群管理的模块化架构 首先,抛开MQTT协议本身的实现逻辑,BifroMQ的各个功能服务模块构建在一套去中心化的底层集群构建能力(base-

2023-07-11

持标准的PubSub事件发布订阅模型,能够与不同的事件存储进行对接。在金融、互联网、制造、通信等行业都有广泛的应用案例。不论是物联网应用、实时数据处理、微服务架构还是事件驱动的分析系统,EventMesh都能帮助您构建强

2023-04-08

家献上了最新的 0.17 版本。这一版本主要对 2 个重要功能进行了升级:MQTT over QUIC 的双向认证和 DDS 协议转换代理的序列化代码自动生成。另外还新增了 QUIC 传输层的配置参数,增加了 Retain 消息的持久化,以及发布了 NanoSDK 0.9

2022-10-26

式设计,IHP 不仅能够高效地构建 Web 应用,还可以方便地进行重构。 IHP v1.0 主要变化 IHP v1.0 意味着大多数 API 和功能已正式 GA——到达稳定状态。此版本将默认 CSS 框架从 Bootstrap 4 升级到 Bootstrap 5,并为 M1 Mac 设备预置了二

2022-10-02

已发布,Zigbee2MQTT是一个将 Zigbee 协议转化成 MQTT 的桥接工具,允许通过 MQTT 协议控制 Zigbee 设备。 此版本带来如下更新项: 重要提示: 对于使用基于 CC1352 或 CC2652 的协调器,并且正在运行更大的网络(80 多个设备)的用户

2023-01-03

已发布,Zigbee2MQTT 是一个将 Zigbee 协议转化成 MQTT 的桥接工具,允许通过 MQTT 协议控制 Zigbee 设备。 此版本带来如下更新项: 功能 #10003 允许暂时“禁用”设备(disabled选项) 改进 #14136 支持前端服务器的 HTTPS(文档)&

2023-09-26

Pigsty v2.4.1 现已发布,支持 Supabase、PostgresML,与大量实用新扩展插件。 Highlights Supabase 支持:使用 Pigsty 管理的外部 postgres 运行开源 Firebase 替代版本:配置示例 支持 PostgresML: 在 Postgres 中运行 LLM、向量运算、经典机器学

2022-12-01

更新内容: [新增] 主题配置 - 菜单配置 - 菜单分组。 [新增] 主题配置 - 菜单配置 - 侧边分栏 与 顶部分栏 选项。 [新增] 菜单数据 type 属性,model 与 blank 可选值, 菜单项支持弹层打开外部链接。 [新增] 工作空间 - 控制台新增选

2023-02-15

次使用者上手即会 可拖拽的设计,让您很方便地对连接进行分门别类管理 消息数量全量显示在各连接之上,清晰明了,方便测试 一键订阅多个内置主题,省却大量手工敲键盘时间 细节到第一个像素的 UI 设计 二、功能

2023-01-06

自定义:序列化和 Schema eKuiper 通过 source/sink 与外部系统进行连接、读入或写出数据。以 source 为例,每种类型的 source 读取数据时都需要经过连接(connect)和序列化(serialization)两个步骤。例如,MQTT source,连接意味着遵循 MQT

2023-01-16

实。 我们计划将这项庞大的工程拆解成多个小版本迭代进行,当 MQTT5.0 还处于半成品期间不建议将 smart-mqtt 运用于生产场景。当然,我们也会尽力将这个周期缩短,争取早日发布成熟稳定的版本。 本次更新内容: 适配 mqtt