2017-05-04 31 views
4

我們有許多設備(大約50-60個設備)通過MQTT連接到IoTHub。爲了節省電池,我們的設備每隔一分鐘就醒來一次5分鐘,保持醒着1秒得到任何消息,如果沒有什麼東西他們會回到睡眠狀態。這工作正常,直到大約2個星期前,當這停止工作。Azure IoT集線器需要超過2秒才能將消息推送到mqtt設備

嘗試一些東西后,我們發現,如果我們增加我們保持喚醒時間3秒,那麼當設備連接時,IoTHub推動消息的設備。平均而言,物聯網集線器在設備連接後大約需要2.5秒來推送消息。這會很快耗盡我們的電池,我們不能將其用作解決方案。考慮到這些設備與IoTHub位於同一區域,似乎等待消息被髮送的時間太長。

我們也注意到有時連接超時需要增加到接近10秒才能獲得成功的連接,這似乎太長了。

在我們的物聯網設備,我們正在使用MQTT協議,並且由於硬件資源有限,我們不能使用Azure的物聯網SDK

所以這裏的問題是:

這是正常的IoTHub到一旦設備連接,需要2-3秒才能推送mqtt消息?

和IoTHub建立連接需要10秒鐘是否正常?

更新1 - 2017年5月5日上午10時11

我提出通過MSDN和微軟這樣的疑問,這裏是鏈接到的問題:https://social.msdn.microsoft.com/Forums/en-US/9d24c261-2280-4515-8e89-8097625307ee/azure-iothub-is-taking-more-than-23-seconds-to-dispatch-messages-via-mqtt-to-the-devices-when?forum=azureiothub

我們使用Azure的SDK在我們的雲服務上。但是,在物聯網設備上,由於硬件限制,我們無法使用sdk,所以我們只是使用MQTT協議來連接,訂閱,處理消息,然後斷開連接。 我們位於澳大利亞(墨爾本東南部),我們有多個部署,我們正在測試,有些在非洲和東部美國部分,所有部署給我們類似的延長等待時間來連接和調度/推消息到物聯網設備

+1

您是否嘗試過與這個問題聯繫Microsoft Azure支持其他人呢? –

+0

謝謝@ChrisPietschmann,我已經向微軟提出過問題,並沒有收到他們的回覆。我在這裏提出了這個問題,希望能從社區獲得答案 –

+0

你在哪裏向微軟提出了這個問題?以及您使用的SDK是什麼? –

回答

2

好的,我的發現基於與Microsoft支持和IotHub產品團隊的對話。 我不確定爲什麼這個問題被拒絕。這是一個常見的問題,可以挑戰任何人構建一個物聯網解決方案,我認爲這是一個很好的分享價值。

微軟反應的總結是:

  1. 的IoTHub隊發現,他們有圍繞2017年3月推的缺陷,這增加了消息的延遲時間大約推到設備1秒。這是導致我們的解決方案中斷的原因。這是因爲我們假設我們的物聯網設備可以從IoTHub內1秒重新連接的得到的消息。

  2. Microsoft建議我們不能指望具體的延遲,因爲它的未包含在他們的SLA中。這裏的關鍵是,如果你正在設計一個物聯網解決方案,確保你不承擔任何設定延遲,因爲這時候可能幾百毫秒和10秒之間波動

更新2017年5月19日

微軟剛剛報以更多的細節。他們現在在Azure IoTHub的文檔中添加了一個部分,表示更改或縮放IotHub的層不會改變延遲並確認延遲不是SLA的一部分。下面是詳細信息: https://docs.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-quotas-throttling#latency

更新

的最後,我希望這將有助於可能有同樣的問題

相關問題