「物联网技术」MQTT 常见问题和5个代理的基本基准测试

简介: 「物联网技术」MQTT 常见问题和5个代理的基本基准测试

MQTT是什么?

MQTT代表MQ遥测传输。它是一种发布/订阅、极其简单和轻量级的消息传递协议,专为受限设备和低带宽、高延迟或不可靠的网络设计。设计原则是尽量减少网络带宽和设备资源要求,同时也试图确保可靠性和某种程度的交付保证。这些原则也使得协议成为新兴的“机器对机器”(M2M)或“物联网”世界的理想协议,也适用于带宽和电池电量非常昂贵的移动应用程序。

MQTT是由谁发明的吗?

MQTT是由IBM的Andy Stanford-Clark博士和Arcom(现在的Eurotech)的Arlen Nipper在1999年发明的。

MQTT在哪里使用?

自1999年以来,MQTT已在各种行业中广泛实现。Projects页面上列出了一些更有趣的示例。

MQTT是标准吗?

v5.0和v3.1.1现在是OASIS标准(ISO也批准了v3.1.1)。

MQTT如何与SCADA协议和MQIsdp相关?

“SCADA协议”和“MQ Integrator SCADA设备协议”(MQIsdp)都是现在称为MQ遥测传输(MQTT)的旧名称。该协议也被称为“WebSphere MQTT”(WMQTT),尽管这个名称也不再被使用。

有标准端口供MQTT使用吗?

是的。IANA为MQTT保留了TCP/IP端口1883。还注册了TCP/IP端口8883,用于在SSL上使用MQTT。

MQTT支持安全性吗?

可以通过协议V3.1中的MQTT包传递用户名和密码。可以使用SSL处理跨网络的加密,而不依赖于MQTT协议本身(值得注意的是,SSL不是最轻的协议,而且确实增加了大量的网络开销)。通过对发送和接收的数据进行加密的应用程序可以增加额外的安全性,但这不是协议内置的内容,以保持简单和轻量级。

对几个不同的MQTT代理进行了非常基本的性能比较,并很快想要分享我的见解。请注意,这些基准测试只是很肤浅的。我的目的不是进行深入的评估,而是大致了解他们的表现。

测试设置

  • 为了在发布场景中执行负载测试,我使用 takanorig/mqtt-bench,这是用Go编写的MQTT基准测试工具。
  • 所有测试都使用选项-count 10000、-clients 25和-size 4096运行,这意味着模拟25个并发MQTT客户机,每个客户机发送10,000条大小为4千字节的消息。
  • 负载测试工具和相应的代理都在Ubuntu 18.04的6核、12线程、3.6 Ghz的机器上本地运行。
  • 除非另有说明,否则代理是用默认配置启动的。

测试的Brokers

下面是对Broker的测试。


结果

这些是我得到的结果。越高越好。

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
相关文章
|
1月前
|
数据采集 监控 机器人
浅谈网页端IM技术及相关测试方法实践(包括WebSocket性能测试)
最开始转转的客服系统体系如IM、工单以及机器人等都是使用第三方的产品。但第三方产品对于转转的业务,以及客服的效率等都产生了诸多限制,所以我们决定自研替换第三方系统。下面主要分享一下网页端IM技术及相关测试方法,我们先从了解IM系统和WebSocket开始。
47 4
|
2月前
|
前端开发 JavaScript 测试技术
前端测试技术中,如何提高集成测试的效率?
前端测试技术中,如何提高集成测试的效率?
|
4月前
|
消息中间件 存储 RocketMQ
消息中间件-RocketMQ技术(二)
消息中间件-RocketMQ技术(二)
|
4月前
|
消息中间件 存储 中间件
消息中间件-RocketMQ技术(一)
消息中间件-RocketMQ技术(一)
|
3月前
|
存储 监控 网络协议
服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
【10月更文挑战第11天】服务器压力测试是一种评估系统在极端条件下的表现和稳定性的技术
164 32
|
2月前
|
数据采集 前端开发 安全
前端测试技术
前端测试是确保前端应用程序质量和性能的重要环节,涵盖了多种技术和方法
|
2月前
|
前端开发 JavaScript 测试技术
前端小白逆袭之路:如何快速掌握前端测试技术,确保代码质量无忧!
【10月更文挑战第30天】前端开发技术迭代迅速,新手如何快速掌握前端测试以确保代码质量?本文将介绍前端测试的基础知识,包括单元测试、集成测试和端到端测试,以及常用的测试工具如Jest、Mocha、Cypress等。通过实践和学习,你也能成为前端测试高手。
61 4
|
2月前
|
编解码 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(10-2):保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali——Liinux-Debian:就怕你学成黑客啦!)作者——LJS
保姆级别教会你如何搭建白帽黑客渗透测试系统环境Kali以及常见的报错及对应解决方案、常用Kali功能简便化以及详解如何具体实现
|
3月前
|
网络协议 物联网 网络性能优化
物联网协议比较 MQTT CoAP RESTful/HTTP XMPP
【10月更文挑战第18天】本文介绍了物联网领域中四种主要的通信协议:MQTT、CoAP、RESTful/HTTP和XMPP,分别从其特点、应用场景及优缺点进行了详细对比,并提供了简单的示例代码。适合开发者根据具体需求选择合适的协议。
78 5
|
2月前
|
人工智能 安全 Linux
网络空间安全之一个WH的超前沿全栈技术深入学习之路(4-2):渗透测试行业术语扫盲完结:就怕你学成黑客啦!)作者——LJS
网络空间安全之一个WH的超前沿全栈技术深入学习之路(4-2):渗透测试行业术语扫盲完结:就怕你学成黑客啦!)作者——LJS

热门文章

最新文章

相关产品

  • 物联网平台