MQTT 开放基准测试规范:全面评估你的 MQTT Broker 性能

简介: EMQ的MQTT开放基准测试规范提供开放实用的评估基准,基于真实的使用场景和可行的度量标准,帮助物联网开发者全面评估MQTT Broker的性能。

MQTT 开放基准测试规范:全面评估你的 MQTT Broker 性能 图1.png

引言

我们很高兴地宣布:由 EMQ 提供的 MQTT 开放基准测试规范现已正式发布!

该测试规范包含了实用的典型使用场景、一套衡量 Broker 性能的主要指标,以及一个模拟负载和收集测试结果的工具,可以帮助开发者评估 MQTT Broker 的可扩展性和性能,从而选择最需要和合适的产品。

MQTT Broker 集群 图2.png

客观实用的 MQTT 负载测试方法

发布/订阅模式下,MQTT Broker 是连接设备和传输物联网数据的核心。随着物联网的普及,处理海量设备及其产生的高速数据流充满了挑战,MQTT Broker 的可扩展性和性能也因此成为物联网解决方案的关键。

在这一背景下,EMQ 提出了这套 MQTT 开放基准测试规范,旨在提供一种客观且实用的 MQTT Broker 测试方法,它将通过以下主要优势简化 MQTT Broker 的负载测试:

提供开放实用的评估基准

尽管有许多研究论文和技术文章对 MQTT Broker 进行了评估和比较,但当前的基准测试通常只衡量一些特定的因素,并不能反映出大规模物联网应用的真实场景。而 EMQ 提供的 MQTT 开放基准测试规范则从多个方面进行全面评估,同时设计了对任何 Broker 都公平的场景,以此来建立一个客观中立的测试基准。

基于真实的使用场景和可行的度量标准

我们分析并解决了来自我们客户的大量实际测试需求,基于此提出了这套 MQTT 开放基准测试规范。我们相信它可以满足绝大多数的测试需求。

面向社区开放的全面基准测试

我们致力于围绕这套 MQTT 基准测试规范建立一个开放和协作的社区。随着社区贡献的各种使用场景不断增加,这套规范也将能更加准确地反映行业需求。欢迎与我们一起为 MQTT 协议建立一个全面的基准测试规范。

MQTT 开放基准测试规范的内容

第一版 MQTT 开放基准测试规范主要介绍了影响 MQTT broker 性能的关键因素,并定义了衡量可扩展性、可用性、延迟时间和计算资源成本的指标。

规范还将典型的使用场景分为连接、广播、点对点和上报,并包含了基于真实客户需求的实际用例。

此外,为了说明这些用例在基准测试中是如何应用的,我们提供了一些详细的基准测试结果的例子。

基准测试结果示例

为了展示一个实际的例子,下面我们将介绍一个使用 NanoMQ 作为 MQTT Broker 的广播用例和基准测试结果的详细情况。

在这个广播用例中,建立了 5 个发布者和 1000 个订阅者的连接(即为了“广播”的目的,订阅者比发布者多),并使用了 5 个主题进行发布/订阅。每个订阅者完成连接后,立即订阅所有 5 个主题。每个发布者完成连接后,都向一个独占的主题发送一个 16 字节的消息。发布者和订阅者都使用 QoS 1。每个发布者的发布速率是每秒 50 条消息,因此,总的预期订阅速率是每秒 250K 条消息。

在本次基准测试中,NanoMQ 部署在一个单节点上。配置详情如下:

表格1.png

本次基准测试使用了 XMeter 作为测试工具,它模拟了所有的设备连接和消息吞吐量,分析数据并生成指标报告。以下是一些重点指标:

表格2.png

详细的图表如下:

MQTT Benchmark Result 图3.png

未来规划

在上文我们使用了 NanoMQ 作为示例,但实际上这套测试规范对所有采用了 MQTT 协议的 Broker 都是适用的。我们也将对其进行持续的迭代和完善,并计划后续推出一个用于 MQTT 基准测试的工具。

欢迎感兴趣的读者查看我们的 GitHub 主页了解更多信息,期待来自大家的宝贵意见和贡献。

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

原文链接:https://www.emqx.com/zh/blog/open-mqtt-benchmark-suite-the-ultimate-guide-to-mqtt-performance-testing

相关实践学习
快速体验阿里云云消息队列RocketMQ版
本实验将带您快速体验使用云消息队列RocketMQ版Serverless系列实例进行获取接入点、创建Topic、创建订阅组、收发消息、查看消息轨迹和仪表盘。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
11月前
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
268 4
|
2月前
|
测试技术 UED 开发者
性能测试报告-用于项目的性能验证、性能调优、发现性能缺陷等应用场景
性能测试报告用于评估系统性能、稳定性和安全性,涵盖测试环境、方法、指标分析及缺陷优化建议,是保障软件质量与用户体验的关键文档。
|
6月前
|
物联网
如何在腾讯云等平台搭建自己的物联网MQTT服务器Broker
物联网技术及MQTT协议被广泛应用于各种场景。本文介绍物联网MQTT服务助手下载,如何搭建自己的物联网平台,并使用 “MQTT客户端调试工具”模拟MQTT设备,接入平台进行消息收发。
533 37
|
6月前
|
人工智能 自然语言处理 测试技术
UGMathBench:评估语言模型数学推理能力的动态基准测试数据集
近年来,人工智能蓬勃发展,自然语言模型(LLM)进展显著。语言模型被广泛应用于自动翻译、智能客服、甚至医疗、金融、天气等领域。而研究者们仍在不断努力,致力于提高语言模型的规模和性能。随着语言模型的蓬勃发展,评估一个语言模型的性能变得越来越重要。其中一个重要的评估指标,就是衡量语言模型的推理能力和解决数学问题的能力。
331 38
|
8月前
|
边缘计算 负载均衡 NoSQL
FreeMQTT Plus: 一个新型 MQTT Broker 集群的实现
FreeMQTT Plus 是一款基于 MQTT 协议的高性能消息中间件,采用分布式架构解决单点瓶颈问题。其核心由 Nginx 负载均衡器、黑(A)节点(MQTT Broker)、白(B)节点(消息路由)和日志(L)节点组成。通过无主从设计,支持高可用性、负载均衡与灵活扩展。针对会话同步、消息路由等挑战,FreeMQTT Plus 利用 MQTT5 特性定义元命令,实现节点间高效通信,无需依赖第三方组件。适用于物联网海量设备接入与高并发场景,为未来边缘计算和多级集群部署提供坚实基础。
1405 74
|
9月前
|
编解码 缓存 Prometheus
「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
本期内容为「ximagine」频道《显示器测试流程》的规范及标准,我们主要使用Calman、DisplayCAL、i1Profiler等软件及CA410、Spyder X、i1Pro 2等设备,是我们目前制作内容数据的重要来源,我们深知所做的仍是比较表面的活儿,和工程师、科研人员相比有着不小的差距,测试并不复杂,但是相当繁琐,收集整理测试无不花费大量时间精力,内容不完善或者有错误的地方,希望大佬指出我们好改进!
604 16
「ximagine」业余爱好者的非专业显示器测试流程规范,同时也是本账号输出内容的数据来源!如何测试显示器?荒岛整理总结出多种测试方法和注意事项,以及粗浅的原理解析!
|
9月前
|
人工智能 自然语言处理 测试技术
AxBench:斯坦福大学推出评估语言模型控制方法的基准测试框架
AxBench 是由斯坦福大学推出,用于评估语言模型可解释性方法的基准测试框架,支持概念检测和模型转向任务,帮助研究者系统地比较不同控制技术的有效性。
238 5
AxBench:斯坦福大学推出评估语言模型控制方法的基准测试框架
|
10月前
|
消息中间件 存储 Java
招行面试:10Wqps场景,RocketMQ 顺序消费 的性能 如何提升 ?
45岁资深架构师尼恩在其读者群中分享了关于如何提升RocketMQ顺序消费性能的高并发面试题解析。面对10W QPS的高并发场景,尼恩详细讲解了RocketMQ的调优策略,包括专用方案如增加ConsumeQueue数量、优化Topic设计等,以及通用方案如硬件配置(CPU、内存、磁盘、网络)、操作系统调优、Broker配置调整、客户端配置优化、JVM调优和监控与日志分析等方面。通过系统化的梳理,帮助读者在面试中充分展示技术实力,获得面试官的认可。相关真题及答案将收录于《尼恩Java面试宝典PDF》V175版本中,助力求职者提高架构、设计和开发水平。
招行面试:10Wqps场景,RocketMQ 顺序消费 的性能 如何提升 ?
|
11月前
|
数据采集 人工智能 自动驾驶
VSI-Bench:李飞飞谢赛宁团队推出视觉空间智能基准测试集,旨在评估多模态大语言模型在空间认知和理解方面的能力
VSI-Bench是由李飞飞和谢赛宁团队推出的视觉空间智能基准测试集,旨在评估多模态大型语言模型(MLLMs)在空间认知和理解方面的能力。该基准测试集包含超过5000个问题-答案对,覆盖近290个真实室内场景视频,涉及多种环境,能够系统地测试和提高MLLMs在视觉空间智能方面的表现。
406 16
VSI-Bench:李飞飞谢赛宁团队推出视觉空间智能基准测试集,旨在评估多模态大语言模型在空间认知和理解方面的能力
|
11月前
|
算法 Java 测试技术
使用 BenchmarkDotNet 对 .NET 代码进行性能基准测试
使用 BenchmarkDotNet 对 .NET 代码进行性能基准测试
274 13