大家好,mqtt测试服务器相信很多的网友都不是很明白,包括应答中获取时间戳也是一样,不过没有关系,接下来就来为大家分享关于mqtt测试服务器和应答中获取时间戳的一些知识点,大家可以关注收藏,免得下次来找不到哦,下面我们开始吧!
一、黑群晖怎样搭建mqtt服务器
黑群晖搭建MQTT服务器的方法如下:
1.安装MQTT服务软件:首先,你需要在黑群晖上安装MQTT服务软件。你可以选择一些流行的MQTT服务器软件,如Eclipse Mosquitto或VerneMQ等。你可以通过黑群晖的软件包管理器或者从官方渠道并安装这些软件。
2.配置MQTT服务器:安装完成后,你需要对MQTT服务器进行配置。这包括设置服务器监听端口、配置用户名和密码、设置允许的连接数等。具体配置方式会根据你选择的MQTT软件有所不同,但通常都会在软件的配置文件中进行设置。
3.启动并测试MQTT服务器:配置完成后,启动MQTT服务器,并使用测试工具或客户端程序测试服务器的连通*和功能。确保服务器可以接收和发送消息,并且根据你的配置进行相应的响应。
详细解释:
安装MQTT服务软件:黑群晖作为一个基于Linux的操作系统,可以通过多种途径安装软件。你可以选择通过黑群晖自带的软件包管理器进行安装,或者从MQTT软件的官方网站源代码进行编译安装。安装过程需要注意依赖项的满足和配置。
配置MQTT服务器:安装完MQTT软件后,需要根据实际需求对服务器进行配置。这包括设置服务器的监听端口,通常默认为1883;设置用户名和密码以增加安全*;调整最大连接数等参数以满足系统要求。这些配置通常在软件的配置文件中进行。
启动并测试MQTT服务器:完成配置后,启动MQTT服务器,并确保其正常运行。你可以使用MQTT客户端程序连接到服务器,发送和接收消息以测试服务器的功能。确保服务器能够按照你的配置进行响应,并且网络连接正常。
通过以上步骤,你应该可以在黑群晖上成功搭建一个MQTT服务器。请注意,具体的操作步骤可能会根据你选择的MQTT软件和黑群晖版本有所不同,建议参考相关软件的官方文档进行操作。
二、怎样从MQTT***服务器***应答中获取时间戳
定义3个虚拟用户组,分别进行连接,发布,订阅操作。
*连接者:虚拟用户数=10,发起10个到服务器的背景连接,每2秒钟发一次心跳请求,15秒后断连。
*发布者:虚拟用户数=5,每隔一秒发送一条32字节的随机串,带时间戳,循环10次结束。
*订阅者:虚拟用户数=2,接收相应话题上的消息,每隔一秒输出采样间隔里接收到的消息统计,循环10次结束。
在JMeter中运行该场景,15秒钟左右运行结束。可以在测试结果树中看到每个操作的详细信息。表格视图的"Sample Time"列出了操作花费的时间(毫秒)。由于这次测试在本地,并发用户数很少,所以连接、消息发送、接收时延都很短。您可以指向实际的MQTT服务器,模拟更大的并发用户数。
三、一文了解主流在线公共 MQTT 服务器
很多 MQTT项目和物联网服务都提供了在线的公共 MQTT服务器,用户可以利用其进行 MQTT学习、测试、原型制作甚至是小规模使用,而无需再自行部署,方便快捷,节省时间与精力成本。
但因为地理位置、网络环境以及服务器负载不同,每个公共服务器的稳定*以及消息传输时延也不尽相同。尽管几乎所有服务提供方都*不对其免费服务的稳定*和安全*负责,但用户在使用时却需要考虑这些因素。
为此,本文整理了一些较为热门的免费在线 MQTT服务器,通过可访问*、网络延时、小规模*能测试以及消息实际传输延时等几个层面进行评估对比,希望可以为您的选择提供参考。
本文选取了以下几个热门的在线公共 MQTT服务器:
EMQX
免费在线的 MQTT 5服务器,由 EMQX Cloud提供。为优化国内用户访问速度,分别提供了海外跟国内两个接入点,其中 EMQX部署在 AWS美国俄勒冈区域,EMQX(国内)部署在腾讯云上海区域,国内访问有稳定的网络通道。
两个接入点均为 2个节点组成的 EMQX集群,后期根据实际接入量和负载可以自动扩容更多节点。根据后台显示,该服务器基于 EMQX企业版 4.2.6版本,当前运行时长为 128天。
详细介绍请访问 EMQ官网页面:免费的在线 MQTT 5服务器。
注:EMQX与 EMQX(国内)两个接入点数据不互通。
Eclipse
由 Eclipse IoT提供的免费在线 MQTT服务器,解析到的 IP显示其部署在 Azure美国弗吉尼亚区域。值得一提的是此前该服务器的接入一直都是mqtt.eclipse.,不知因何故更换到现在的接入,撰写本文时我使用旧接入失败一度以为服务器已经停了,最后通过 HTTP访问原接入点时才发现已经做了 301永久重定向。
根据$SYS/#系统主题查询得出该服务器基于 Mosquitto 2.0.12版本,当前运行时长为 71227秒,疑似在一天前重启过服务。
相关介绍: mqtt.eclipseprojects.io...
Mosquitto
由 Mosquitto社区提供的免费在线 MQTT服务器,解析到的 IP显示其部署在 OVH法国鲁贝区域。在测试中发现正常情况下该接入点网络延时较高,所幸丢包率比较低,某些时段会出现连接失败的情况。
根据$SYS/#系统主题查询得出该服务器基于 Mosquitto 2.0.12版本,当前运行时长为 28519秒,疑似在一天内重启过服务。
相关介绍: test.mosquitto./
HiveMQ
由 HiveMQ提供的免费在线 MQTT服务器,解析到的 IP显示其部署在 AWS德国法兰克福区域。
由于其$SYS/#系统主题无法订阅,无法获知提供服务的 Broker类型、具体版本以及当前运行时长。
相关介绍: mqtt-dashboard./
注:受限于地理位置不同,不同地方的网络环境会有一定差异,导致本文测试结果可能会有所差异。
该环节中使用 MQTT客户端工具- MQTT X进行可访问*测试,尝试通过 TCP 1883端口建立连接,经过反复测试只有 Eclipse提供的免费服务无法访问,总体结果如下:
MQTT X具备连接导入导出功能,以下是本文测试使用的连接数据,可以通过数据恢复的方式导入 MQTT X中。
通过网络访问检测网络连通情况和网络延时,由于部分服务禁用了 ICMP协议,同时各个地方的网络情况不一样,此处使用 WebSocket,借助国内热门的测速工具站长工具的 HTTP测速进行测试:
借助开源 MQTT*能测试工具 emqtt-bench进行测试,测试客户端的 Pub Sub是否有速率限制。
出于实用*的考虑,本轮测试并非是探究每个接入点的速率上限,而是考量每个接入点能够满足常规的使用强度。本轮设计的场景是测试单客户端 Sub/Pub消息为 1000 msg/s持续 1分钟,消息大小为 256 Bytes,记录每个接入点是否达标、是否有限速,下图为测试架构:
准备好 emqtt-bench之后,以下每组 Sub Pub命令各自在不同的窗口执行即可:
目的:考量消息从 Pub端到 Sub端所需要的时间,采样分析传输稳定*与平均耗时。
测试步骤:客户端连接到公共服务器,每 5秒钟发布一条带时间戳的消息,订阅者接收到消息之后去当前时间戳减去消息中的时间戳,计算得出消息时延记录至数据库,统计 30分钟后进行采样分析。
测试模型如下:
测试代码: free-online-public-broker-test.js
在几项测试中各个免费在线 MQTT服务器整体上均达到了可用的程度,但是细分到具体指标上各个服务器之间还是存在*的差异。较低的速率限制、不稳定的网络延时,甚至有部分服务器疑似存在定时重启机制,这些稳定*和可用*层面的问题即使在简单测试和原型制作中也会给用户带来不好的体验。
以上内容也从一定程度佐证了物联网平台的相关*能受设备地理位置的影响程度。因此在海外与国内基于优质云服务商网络分别提供就近接入点的 EMQX免费在线 MQTT服务相比之下就具有了一定优势,各方面测试数据均较为领先。
我们也很高兴地看到越来越多来自全球各地的物联网设备接入到 EMQX提供的在线 MQTT服务器上,平均每秒就有数千条消息传递。broker.emqx.io:1883也出现在 GitHub的各类开源项目、示例代码( github./search?...)中。国内的用户则可以选择专为国内优化部署的 broker-.emqx.io节点。
EMQX在线公共服务器在国内和海外的两个接入点服务均由 EMQX Cloud提供。EMQX Cloud是 EMQ提供的全托管云原生 MQTT消息服务,支持商业级的可访问*和稳定*保障。对于商业用户来说,使用 EMQX Cloud可零成本快速启动项目,以简单快速的方式实现 MQTT设备接入。后期可随业务发展情况按需扩展,同时可在全球范围内就近创建接入点并享受 EMQ专业团队提供的 7*24技术支持保障。
无论是个人还是企业项目,EMQ致力于为各类用户提供最合适的 MQTT消息服务。在使用 EMQX的过程中如有任何意见或问题,欢迎随时向我们的团队反馈。