【问题标题】:How many messages can a server acting as an MQTT Client Handle充当 MQTT 客户端的服务器可以处理多少条消息
【发布时间】:2017-04-30 17:48:12
【问题描述】:

我有一个物联网应用程序。我在哪里使用 mqtt 协议进行通信。 我正在使用 Emqttd (http://emqtt.io/) 作为 mqtt 代理。现在我的所有设备以及我的节点服务器都作为客户端连接到 MQTT Broker。 每当设备需要更新其状态时,它都会在特定主题上发布,并且我的节点服务器正在监听所有主题。但我担心如果没有怎么办。每秒消息数增加,我的服务器是否能够处理所有这些消息并更新数据库中的状态?有没有限制。客户端每秒可以处理的消息数? 或者有没有更好的方法将我的设备状态更新到数据库中。

【问题讨论】:

  • 取决于您客户的规格。我有一个 1 核 400Mhz ARM 设备,它每秒能够通过 mqtt 发送约 1000 条消息。代码是用 C++ 编写的,但在功能更强大的设备上,我猜你将能够使用 node.js 获得更好的结果。如果您认为您的服务器将无法处理传入消息,您可能需要查看集群您的节点 mqtt 客户端。
  • 您必须在代表目标环境的部署中测试其性能/吞吐量。这没有什么不寻常的 - 这是您需要为您想要扩展的任何服务器/网络系统/服务做的事情。

标签: node.js server mqtt


【解决方案1】:

MQTT 代理可以处理无限数量的连接。这可以通过微调安装代理的服务器来实现。 调整系统时应考虑以下参数: 1.开放端口数:可以通过增加服务器的ulimit来实现。 2.后台运行的进程数尽量少。

【讨论】:

  • 经纪人和任何软件一样都有性能限制。
猜你喜欢
  • 2017-12-26
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2017-06-18
  • 2011-10-29
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多