本文介紹了物聯網平台的使用限制及效能指標。
裝置接入
產品數量
地區
描述
限制
德國(法蘭克福)、美國(矽谷)
一個阿里雲帳號下最多可以建立的產品數。
1,000
華東2(上海)、新加坡、日本(東京)、美國(維吉尼亞)
標準型、尊享型和公用執行個體:一個執行個體下最多可以建立的產品數。
1,000
裝置數量
說明若裝置限制數量不能滿足您的業務需求,請提交工單說明您的需求。
網關子裝置
一個網關裝置下最多添加的子裝置數為2,000。
一個網關裝置下動態註冊子裝置時,單次動態註冊的子裝置數量不能超過30個。
一個網關裝置發送子裝置批量上下線請求時,單個批次上下線的子裝置數量不能超過50個。
一個網關裝置代理程式子裝置上線的QPS限制為200。
網關裝置及其子裝置的訊息限流,請參見串連通訊中的《訊息通訊限流》。
裝置管理
限制項 | 描述 | 限制 |
物模型功能定義 | 一個產品最多可包含物模型模組(預設模組和自訂模組)總數。 | 200 |
一個物模型模組最多可添加的功能總數。 | 300 | |
struct類的屬性最多可添加的參數個數。 | 50 | |
當功能的資料類型為enum時,枚舉項的最多個數。 | 100 | |
當功能的資料類型為text時,資料最大長度。 | 10,240個字元 | |
當功能的資料類型為array時,數組內的元素最多個數。 | 512 | |
所有服務和事件中最多可添加入參和出參的總數。 | 300 | |
一個服務中最多可添加的入參個數。 | 100 | |
一個服務中最多可添加的出參個數。 | 100 | |
一個事件中最多可添加的出參個數。 | 100 | |
最多可同時匯入物模型模組檔案的總數。 | 20 | |
一個物模型最多儲存最近版本的個數。 | 10 | |
匯入物模型時,一個JSON格式的物模型模組檔案大小的上限。 | 512 KB | |
匯入物模型時,一個JSON格式的物模型模組檔案中,有效字元數量大小的上限。 有效字元,指JSON格式內容中,除換行和對齊字元之外的字元。 | 256 KB | |
匯入物模型時,多個JSON格式檔案壓縮的ZIP檔案大小的上限。 | 2.5 MB | |
調用物模型相關API時,如果請求參數ThingModelJson中ARRAY和STRUCT類型資料相互嵌套,最多支援遞迴嵌套的層級數。 例如ARRAY中只能使用STRUCT,此時該STRUCT中不能再有ARRAY或STRUCT類型資料。 | 2級(父和子) | |
標籤個數 | 一個產品、裝置或分組最多可以添加的標籤數。 | 100 |
裝置分組 | 一個阿里雲帳號下最多可有父分組和子分組的總個數。 | 1,000 |
一個分組內最多可添加裝置的個數。 | 100,000 | |
一個裝置最多可被添加到的分組個數。 | 10 | |
資料解析 | 資料解析指令檔大小的上限。 | 128 KB |
遠程配置 | 遠程設定檔,僅支援JSON格式。檔案大小的上限。 | 64 KB |
物模型資料存放區時間長度 | 裝置運行時產生的屬性、事件、服務的資料存放區時間長度為30天,超出30天的資料不再儲存。 | 30天 |
檔案管理 | 一個執行個體下,可儲存的檔案總大小的上限。 | 1 GB |
裝置端通過MQTT協議上傳的單個檔案大小的上限。 | 16 MB | |
一個裝置最多可儲存的檔案數量。 | 1,000 | |
OTA升級 | 一個阿里雲帳號下的一個執行個體中,最多可包含的升級包數量。 | 500 |
使用HTTPS協議下載升級包時,一個升級包檔案大小的限制。 | 1,000 MB | |
使用MQTT協議下載升級包時,一個升級包檔案大小的限制。 一個升級包中只能包含一個檔案。 | 16 MB | |
單次批量升級最多可升級的裝置數量。 重要
若裝置限制數量不能滿足您的業務需求,請提交工單說明您的需求。 |
| |
裝置任務 | 一個阿里雲帳號下,單個地區最多可添加裝置任務個數。 | 10,000 |
串連通訊
限制項 | 描述 | 限制 |
裝置接入限制 | 使用同一個裝置認證資訊(相同的Productkey、DeviceName)。在同一時間,只能和物聯網平台伺服器建立一個串連。 | 1 |
串連次數 | 一個阿里雲帳號每秒最大MQTT串連請求數。 | 500 |
保障裝置請求串連不被限流的情形下,一個裝置每分鐘的最大串連請求次數。 | 5 | |
裝置訂閱數 | 一個裝置的最大訂閱數。 超過訂閱數的請求將會被直接拒絕。裝置端可以通過驗證SUBACK訊息,確認請求是否成功。 | 100 |
請求數量 | 舊版公用執行個體:一個阿里雲帳號每秒由裝置端向物聯網平台發送的請求數。 | 10,000 |
舊版公用執行個體:一個阿里雲帳號每秒由物聯網平台向裝置端發送的請求數。 | 2,000 | |
新版公用執行個體:一個執行個體下每秒上下行訊息請求數。 | 5 | |
企業版執行個體:一個執行個體下每秒上下行訊息請求數,由購買的訊息上下行TPS規格決定。 購買企業版執行個體說明,請參見購買企業版執行個體。 | ||
訊息通訊限流 | 一個裝置每秒最多可上報的QoS 0或QoS 1訊息數量。 說明 MQTT的Pub上報訊息限流,協議上沒有任何應答。您可以通過Log Service發現裝置被限流的警告。 | 30條/秒 |
一個裝置接收下行訊息的最大限制為50條/秒,同時受限於網路環境。 如果網路tcp write buffer擁堵,會直接返回錯誤。通過Pub介面髮指令給裝置,如果裝置不能及時處理,會收到限流錯誤。 | 50條/秒 | |
頻寬 | 一個串連每秒的輸送量(頻寬)最大限制。 | 8 Mbps |
緩衝請求數 | 物聯網平台限制了每個用戶端的最大未確認入站發布請求數。 達到此限制後,除非返回PUBACK訊息,否則伺服器不會再接收新的用戶端發布請求。 | 100 |
訊息儲存時間長度 | QoS1訊息的最大儲存時間。 如果最大時間後,未從用戶端接收到PUBACK訊息,則會丟棄這些發布請求。 | 7天 |
MQTT訊息長度 | MQTT單個發布訊息最大長度。超過此大小的發布請求會被直接拒絕。 | 256 KB |
CoAP訊息長度 | CoAP單個發布訊息最大長度。超過此大小的發布請求會被直接拒絕。 | 1 KB |
MQTT保活 | MQTT串連心跳時間為30秒至1,200秒。心跳時間不在此區間內,伺服器會拒絕串連。 建議取值300秒以上。預設值為1,200秒。裝置端保活心跳設定,請參見MQTT接入樣本。 從物聯網平台發送CONNACK響應CONNECT訊息時,開始心跳計時。收到PUBLISH、SUBSCRIBE、PING或 PUBACK訊息時,會重設計時器。物聯網平台每隔30秒定時檢測一次裝置的保活心跳,裝置上線時間點距離最新定時檢測時間點的時間,是定時檢測的等待時間。定義最大逾時時間為: | 30秒~1,200秒 |
RRPC逾時時間 | 裝置響應RRPC請求的逾時時間。 | 8秒 |
物模型屬性上報 | 一個裝置單次最多可上報物模型屬性數量。 | 500 |
物模型歷史屬性和事件上報 | 一個執行個體下,單次最多同時上報物模型歷史資料的裝置數量。 | 50 |
一個裝置單次最多上報物模型屬性數量。 | 30 | |
一個裝置單次最多上報物模型事件數目量。 | 20 | |
物模型屬性和事件批量上報 | 一個裝置單次最多可上報屬性和事件的資料條數。 一個屬性或一個事件的多個值計為多條資料。 | 1,000 |
MQTT 5.0協議 | 最多可添加使用者自訂屬性的總個數。 | 20 |
一個使用者自訂屬性的Key和Value最大總長度。 | 128個字元 | |
請求和響應模式中,響應主題(Response Topic)和相關資料(Correlation Data)長度的上限相同。 | 128個字元 |
Topic相關
限制項 | 描述 | 限制 |
自訂Topic類數量 | 一個產品下最多可以定義Topic類的個數。 | 200 |
許可權 | 裝置只能對自己的Topic進行訊息發布與訂閱。 | 無 |
Topic長度 | Topic長度不能超過160位元組,UTF-8編碼字元。 | 160 |
Topic類目 | 一個Topic中最多可包含多少個層級類目,即Topic中斜杠的最大數量。 | 7 |
訂閱數 | 每個訂閱請求的最大訂閱數。 | 8 |
操作生效時間 | 訂閱和取消訂閱都是操作10秒後生效,一次訂閱一直生效。建議您提前訂閱Topic以免漏失資訊。 樣本:裝置向Topic A發送SUB請求,10秒後,訂閱生效,裝置開始收到即時訊息,除非取消訂閱,裝置會一直接收Topic A的訊息。 | 10秒 |
廣播Topic | 要廣播的訊息主體報文大小不能超過64 KB。 需要轉換訊息原文為位元據,並進行Base64編碼,從而產生訊息主體。 | 64 KB |
服務端SDK每分鐘只可發一條全量廣播訊息。 | 1條/分鐘 |
裝置影子
限制項 | 描述 | 限制 |
JSON層級 | 裝置影子JSON文檔的最大層級深度。 | 5 |
檔案大小 | 裝置影子JSON文檔的最大限制。 | 16 KB |
屬性數量 | 裝置影子JSON文檔的屬性數量限制。 | 128 |
每秒請求數 | 每個裝置每秒的最大請求數。 | 20 |
雲產品流轉(舊版)
限制項 | 描述 | 限制 |
規則數量 | 一個執行個體下最多可以設定1,000條規則。 | 1,000 |
流轉目標數量 | 一條規則中轉寄資料的操作不能超過10個。 | 10 |
訊息轉寄處理訊息量 |
RAM使用者共用阿里雲帳號配額。 訊息轉寄TPS說明:
同一秒內,可能n條訊息流程轉至訊息轉寄,然後從訊息轉寄流轉到m個目的地,訊息轉寄TPS計算規則為:
說明
|
|
流轉目標要求 | 資料轉寄依賴目標雲產品,需確保目標雲產品執行個體正常。目標雲產品的執行個體宕機、欠費、參數錯誤(如授權變更、值非法)、配置錯誤等異常狀況會導致訊息流程轉失敗。 | 無 |
訊息去重 | 資料流轉時,為確保訊息送達,同一條訊息可能重複發送,直到用戶端返回ACK或訊息到期。同一條訊息的訊息ID相同,您可根據訊息ID去重。 | 無 |
雲產品流轉(新版)
雲產品流轉(新版)訊息相關的限制與雲產品流轉(舊版)中訊息相關的限制相同。
限制項 | 描述 | 限制 |
解析器 | 一個執行個體最多包含解析器總數。 | 1,000 |
資料來源 | 一個解析器最多關聯資料來源總數。 | 1 |
一個資料來源最多包含Topic總數。 | 1,000 | |
資料目的 | 一個解析器最多關聯資料目的總數。 | 10 |
一個資料目的最多包含的操作總數。 | 1 | |
一個解析器最多關聯異常資料目的總數。 | 1 | |
解析指令碼 | 一個解析器的指令碼內容大小限制。 | 120 KB |
一個解析器的指令碼中迴圈執行流轉函數的最大次數。 流轉函數詳細資料,請參見流轉資料到資料目的函數。 | 100 |
服務端訂閱
AMQP服務端訂閱使用限制:
限制項 | 描述 |
認證逾時 | 建立串連之後,需要立刻發送認證請求。如果15秒內沒有認證成功,伺服器會主動關閉串連。 |
資料逾時 | 服務端與物聯網平台建立串連時,需傳入心跳時間(AMQP協議參數idle-timeout),取值範圍為30~300秒。 如果超過心跳時間,串連後無任何幀通訊,物聯網平台會關閉串連。 建立串連後,使用者服務端需在心跳時間內發送PING包來維持串連。若沒有在心跳時間內發送PING包,物聯網平台會中斷連線。 說明 使用阿里雲提供的SDK,建立串連後,無需發送PING包維持串連。SDK存在保活心跳,只需保證主進程不退出即可。 |
ACK逾時 | AMQP服務端轉寄訊息到用戶端後,如果30秒內未收到用戶端回執訊息,計為ACK逾時。 |
失敗推送重試策略 | 由於消費用戶端離線、訊息消費慢等原因,訊息不能即時消費,而進入堆積隊列。
|
訊息儲存條數 | 一個消費組最多可堆積1億條訊息。 |
訊息儲存時間長度 | 1天。 |
即時訊息推送限流 | 一個串連限流1,000 TPS。您可通過增加串連數擴容,串連數最大為128個。 |
堆積訊息推送限流 | 一個消費組限流200 TPS。 說明 為避免大量訊息堆積,請確保消費用戶端線上,並對平台推送的訊息及時ACK回複。 |
一個產品可關聯的消費組數量 | 最多10個。 |
一個消費組可關聯的產品數量 | 最多1,000個。 |
一個消費組可訂閱的Topic數量 | 最多200個。 說明 訂閱一個使用萬用字元的Topic,計為一個Topic。例如訂閱產品下的Topic: |
消費組個數限制 | 一個阿里雲帳號最多建立1,000個消費組。 |
消費端個數限制 | 一個消費組最多支援128個消費端。 |
串連次數限制 | 一個消費組1分鐘內,消費端請求串連不超過100次。 說明 消費端是指接收物聯網平台訊息的AMQP用戶端,而不是裝置端。 |
MNS服務端訂閱使用限制,請參見MNS使用限制中,隊列相關使用限制。
資料服務
僅華東2(上海)、華北2(北京)、華南1(深圳)、新加坡和美國(維吉尼亞)地區的標準型和尊享型執行個體下支援資料服務的全部功能。
日本(東京)、德國(法蘭克福)、美國(矽谷)地區僅支援資料服務中的時序儲存功能。
資料服務對應功能的使用受已購買執行個體下資源規格限制。
雲端API限制
調用雲端API的每秒請求數(QPS)限制,請參見具體API文檔。
若您調用介面收到限流報錯,如公用錯誤中28~30類型報錯,可以重新嘗試調用。