MQTT X 1.9.0 发布:开箱即用的 bench 命令,MQTT 性能测试更便捷

news2024/10/5 12:46:41

近日,MQTT 5.0 客户端工具 MQTT X 1.9.0 正式发布。

新版本针对桌面客户端优化了一些细节上的 UI 样式与交互方式,新增了一个可以帮助用户更加快速和系统学习 MQTT 协议相关知识的页面,同时也修复了一些已知问题;针对命令行客户端新增了 bench 命令,帮助用户创建、订阅和发布自定义数量的连接、主题与消息,轻松完成 MQTT 服务的性能测试。

在这里插入图片描述

命令行客户端

新增开箱即用的 bench 命令

在 1.9.0 版本中,MQTT X CLI 提供了一个内置、开箱即用的性能测试命令工具 – mqttx bench,可以帮助用户快速进行简单的性能和压力测试。用户只需简单安装或更新 MQTT X CLI 后,即可快速使用该命令,无需额外操作,方便易用。

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

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

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

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

    mqttx bench sub -c 5000 -t mqttx/bench/t
    
  3. 最后启动 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 命令不仅使用简单易上手,其内容输出也非常简洁。对于大量的连接、订阅和发布的输出内容,我们优化了其显示方式,通过动态更新实时的数量,避免在使用过程中被大量输出日志刷屏。

添加 Retain 消息标识

此外,MQTT X CLI 新增了 MQTT Retain 消息标识,用户可以通过查看接收到的消息中是否包含有 retain: true 来判断是否为 Retain 消息。Retain 消息标识可以帮助用户更好地理解消息的来源为实时消息还是保留消息,从而验证消息的正确性。

桌面客户端

脚本功能增强

在之前的版本中,MQTT X 只能对于收发消息进行简单的静态数据处理,例如使用随机函数模拟数据,对于特定数据格式的消息模版做一些格式转化或提取关键数据等。

在 v1.9.0 中,我们增强了脚本功能,让用户可以实现一些动态的数据的模拟操作。例如当用户在定时发送中,需要动态地切换两种消息内容,分别为开关指令的打开和关闭,此时可以使用脚本中新增的 index 的参数,通过发送的步长判断,来动态地将两个消息内容进行交替切换,帮助用户来快速测试不同命令切换时其系统的稳定性。除此之外我们还为脚本函数新增了一个 msgType 参数,通过消息类型参数,可以扩展更多的消息转换能力。

注意:index 参数仅在使用定时消息发送时可以接收到。

MQTT 协议帮助页面

除了提供强大的测试客户端工具帮助开发者快速开发和调试 MQTT 服务与应用,我们也希望开发者能在这一过程中更加深入地理解 MQTT 协议并充分运用其相关特性。

因此,MQTT X 1.9.0 为用户新增了一个帮助页面,提供包括基础知识、快速使用、连接参数说明、客户端编程教程等 MQTT 协议相关的各类内容,帮助用户快速搭建自己的 MQTT 物联网应用。MQTT X 通过满足用户测试需求的各项功能,以及系统知识与实用案例详解参考,成为用户搭建和设计 MQTT 物联网应用的坚实后盾。

UI 与交互优化

我们对于 MQTT X 的 UI 与交互也进行了一些细节上的调整与优化,以提升用户体验。

在左侧连接列表的顶部,我们将新建分组按钮修改为了一个单一的添加按钮,通过点击新建按钮,我们可以选择快速新建一个连接,或为连接快速创建一个分组,避免了用户混淆创建分组与创建连接;同时优化了连接按钮样式显示等。

在交互方面,我们新增了一些更加实用的快捷键,例如在连接列表中可以通过 Ctrl or Cmd + N 快捷键来新建一个连接,通过使用 Ctrl or Cmd + B 快捷键来快速跳转到关于页面,查看 MQTT X 的一些基础信息。这些快捷键将使用户操作变得更加方便。

其它

  • 客户端顶部的系统菜单栏中,进行了国际化显示,而非纯英文显示
  • 修复了在重新连接后,无法接收到已订阅过主题的消息的问题
  • 移除了一些不正确的配置项单位

未来规划

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

  1. MQTT X CLI 支持自动重连
  2. 接收消息和存储时的性能优化,大量消息不卡顿
  3. CLI 支持使用配置文件来进行连接、发布和订阅
  4. MQTT Debug 功能
  5. 支持 Sparkplug B 格式
  6. 接收到的消息可以进行自动图表绘制
  7. 插件功能
  8. 脚本测试自动化(Flow)

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

原文链接:https://www.emqx.com/zh/blog/mqttx-v-1-9-0-release-notes

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/12058.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

c++基础(十七)——职工管理系统实现

一、项目的创建 打开visual studio之后,选择文件—新建—项目。出现弹窗后选择Visual C,填好名称即可。 接下来分别在对应的位置创建头文件以及源文件以及一个主函数文件"职工管理系统.cpp": 二、系统界面的基本实现: 在头文件…

Qt音视频开发03-ffmpeg倍速播放(半倍速/2倍速/4倍速/8倍速)

一、前言 用ffmpeg做倍速播放,是好多年都一直没有实现的功能,有个做法是根据倍速参数,不断切换播放位置,实现效果不是很好,ffplay中的倍速就做得很好,而且声音无论倍速多少还非常柔和,有特别的…

Vue实现网页首屏加载动画、页面内请求数据加载loading

博主介绍 📢点击下列内容可跳转对应的界面,查看更多精彩内容! 🍎主页:水香木鱼 🍍专栏:后台管理系统 文章目录 简介:这是一篇有关【Vue实现网页首屏加载动画、页面内请求数据加载lo…

如何使用html、css制作一个期末作业网站【羽毛球体育运动主题html网页设计】

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

sulfo-CY3(Cyanine3) DBCO,磺酸基-花青素CY5二苯并环辛炔,1782950-79-1

中文名:磺酸基-花青素CY3二苯并环辛炔 英文名:Sulfo-Cyanine3 DBCO,Sulfo-Cy3 DBCO CAS:1782950-79-1 分子式:C50H54N4O11S3 性 状:红色粉末 分子量:983.18 Abs/Em Maxima:548/…

Hadoop单个节点的磁盘均衡

hadoop如果一个节点内有新增磁盘或者数据出现在磁盘上不均衡时,需要做磁盘均衡,就是将其他已经写入数据的磁盘均衡到新增加的磁盘上去,大概分为以下三个步骤,计划,执行,查询: 一般默认都开启了磁…

基于NodeJs+Express+Mysql学生社团活动管理系统

开发技术:nodejs express ElementUI layui 开发工具环境:Vscode Mysql 后台登录地址:http://localhost:8080/nodejsr08n1/admin/dist/index.html#/login 管理员账号密码:abo/abo 社团账号密码:账号1/123456 前台地…

JVM内存区域划分

哈喽,又是好久不见呀,今天主要要给大家分享的是JVM的内存区域划分,这个就是纯纯的八股文了呦,但是我依旧还是会尽我最大的努力给友友讲清楚的,快来看看吧. 目录 1.JVM快速扫盲 2.JDK、JRE、JVM的关系 3.JVM内存区域划分 3.1 堆 3.2 java虚拟机栈 3.3 本地方法栈 3.4 程序…

OpenCV学习-P44 角点检测

OpenCV学习-P44 角点检测角点特征Harris和Shi-Tomas算法Harris角点检测Shi-tomas角点检测角点特征 角点是图像很重要的特征,对图像图形的理解和分析有很重要的作用 Harris和Shi-Tomas算法 Harris角点检测 E最大的点即角点,矩阵M决定了E的取值 im…

信息系统项目管理师高级论文如何准备?

如果有项目经验,可以选一个,整理一下项目背景,内容等,使它符合考试的要求。 没有项目经验,就只能多看范文,总结框架,然后再动手写了。 所以,论文一定要提前准备。 2小时内要完成三…

HTML简单的网页制作期末作业【NBA勒布朗詹姆斯篮球明星】HTML+CSS+JavaScript

🎉精彩专栏推荐 💭文末获取联系 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业: 【📚毕设项目精品实战案例 (10…

大一学生作品《前端框架开发技术》 期末网页制作 HTML+CSS+JavaScript 个人主页网页设计实例

🎉精彩专栏推荐👇🏻👇🏻👇🏻 ✍️ 作者简介: 一个热爱把逻辑思维转变为代码的技术博主 💂 作者主页: 【主页——🚀获取更多优质源码】 🎓 web前端期末大作业…

UML类图

统一建模语言(Unified Modeling Language,UML)是用来设计软件的可视化建模语言。它的特点是简单、统一、图形化、能表达软件设计中的动态与静态信息。 UML从目标系统的不同角度出发,可分为用例图、类图、对象图、状态图、活动图、…

实现一个全局事件总线并发布到NPM

前言 Vue2开发过程中,会碰到非父子组件情况,我们大多数会使用Vue提供的自定义实例来解决这个问题,但在Vue3之后就移除了$on/$off/$once/emit 相关API,不再提供自定义实例,而是推荐使用一些第三方库如mitt、tiny-emitt…

第3关:Client连接及状态

ZooKeeper状态以及状态的转换 一个会话从NOT_CONNECTED状态开始,当客户端初始化后转换成CONNECTTING状态(箭头1)。 当客服端与服务器断开连接,状态转换成CONNECTED状态(箭头2)。 当客服端与服务器断开连接…

基于xsh的vbs脚本的使用(语法)

一. chr(number)含义 chr(number) 对应列表链接:chr码值对应列表大全_conger3400的博客-CSDN博客 常用举例: chr(3):CtrlC/退出等待某个执行命令 chr(4):CtrlD/退出会话 chr(8):del回退删除一个字符 chr(9)&#xff…

Linux网络管理

文章目录 前言 网卡的存储位置(查看网卡) NetworkManager服务 查看网络连接状态 配置网卡参数 先备份网卡配置文件,再修改 查看本机的自动获取的IP 编辑网卡配置文件 重启网络服务并查看IP 另一台机器同样的方法进行网络配置&#x…

网络工程师备考1-2章(续)

一:差错控制 (1)奇偶检验 什么意思呢? 如果我们用 奇校验,就是保证传输过来的数据中的1是奇数,如果不是奇数那么说明传输错误。 (所以会增加一位,保证正确的数据的总的1一定是奇数) (2)海明码 什么是海明距离? 两个码字,例如 0 1 0 0 和 0 0 1 0 可以看到这…

人机界面在石油钻井工程中的应用:如何搭建钻井工程参数监测系统?

一、应用背景 石油钻井工程是石油开采过程中最为关键的一个环节,直接决定着石油开采的质量和经济效益,而钻井工程参数的实时监测、分析处理和存储是保证安全、可靠、高效钻井的重要途径。 随着科学技术的飞速进步,尤其是自动化技术的发展&a…

HTML网页设计制作大作业(div+css)---浩瀚天文 (13页有二级菜单)

⛵ 源码获取 文末联系 ✈ Web前端开发技术 描述 网页设计题材,DIVCSS 布局制作,HTMLCSS网页设计期末课程大作业 | | HTML期末大学生网页设计作业,Web大学生网页 HTML:结构 CSS:样式 在操作方面上运用了html5和css3, 采…