Has*_*iar 7 azure mqtt azure-iot-hub
我们有许多设备(大约50-60个设备)通过MQTT连接到IoTHub.为了节省电量,我们的设备每5分钟唤醒一次,保持清醒1秒钟以获取任何消息,如果没有任何消息,他们会重新入睡.这工作正常,直到大约2周前,当这停止工作.
在尝试了一些事情之后,我们发现如果我们将Stay-Awake时间增加到3秒,那么当设备连接时,IoTHub会将消息推送到设备.平均而言,一旦设备连接,物联网中心大约需要2.5秒才能推送消息.这将很快耗尽我们的电池,我们不能将其用作解决方案.考虑到设备与IoTHub位于同一区域,等待消息的发送似乎太长了.
我们还注意到,有时连接超时需要增加到接近10秒才能成功连接,这似乎太长了.
在我们的物联网设备上,我们使用的是MQTT协议,由于硬件资源有限,我们无法使用Azure IoT sdk
所以这里的问题是:
一旦设备连接,IoTHub花费2-3秒推送mqtt消息是否正常?
与IoTHub建立连接需要10秒钟是否正常?
更新1 - 2017年5月5日上午10:11
我通过MSDN向Microsoft提出了这个问题,这里是问题的链接:https://social.msdn.microsoft.com/Forums/en-US/9d24c261-2280-4515-8e89-8097625307ee/azure-iothub-是-既能更比23秒到调度的消息-通MQTT到所述的设备,当?论坛= azureiothub
我们在云服务上使用Azure sdk.然而,在物联网设备上,由于硬件限制,我们无法使用sdk,因此我们只是使用MQTT协议来连接,订阅,处理消息,然后断开连接.我们位于澳大利亚(墨尔本SE),我们正在测试多个部署,有些部署在AU,有些部署在美国东部,所有部署都给我们类似的延长等待时间来连接和发送/推送消息到物联网设备
好的,这是我根据与 Microsoft 支持和 IotHub 产品团队的对话得出的发现。我不确定为什么这个问题被否决了。这是一个常见问题,可能会挑战任何构建物联网解决方案的人,我认为分享这一点很有价值。
微软回应的摘要是:
IoTHub 团队发现他们有一个缺陷,该缺陷是在2017 年 3 月左右推送的,这使推送到设备的消息延迟增加了大约1 秒。这就是导致我们的解决方案失败的原因。这是因为我们假设我们的 IoT 设备可以在重新连接后的1 秒内从 IoTHub 获取消息。
Microsoft 建议我们不能指望特定的延迟,因为它不包含在他们的 SLA 中。这里的重点是,如果您正在设计 IoT 解决方案,请确保您不要假设任何设置的延迟,因为这个时间可能会在数百毫秒和 10 秒之间波动。
2017 年 5 月 19 日更新
微软刚刚回应了更多细节。他们现在在 Azure IoTHub 的文档中添加了一个部分,说明更改或缩放 IotHub 的层不会改变延迟,并确认延迟不是 SLA 的一部分。以下是详细信息:https : //docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-quotas-throttling#latency
更新结束
我希望这会帮助其他可能有同样问题的人
| 归档时间: |
|
| 查看次数: |
974 次 |
| 最近记录: |