全部产品
Search
文档中心

阿里云物联网平台:使用限制

更新时间:Aug 08, 2024

本文介绍了物联网平台的使用限制及性能指标。

设备接入

  • 产品数量

    地域

    描述

    限制

    德国(法兰克福)、美国(硅谷)

    一个阿里云账号下最多可以创建的产品数。

    1,000

    华东2(上海)、新加坡、日本(东京)、美国(弗吉尼亚)

    标准型、尊享型和公共实例:一个实例下最多可以创建的产品数。

    1,000

  • 设备数量

    说明

    若设备限制数量不能满足您的业务需求,请提交工单说明您的需求。

    • 一个产品下最多可以添加的设备数量:

      地域

      限制

      华东2(上海)

      3,000,000

      华北2(北京)、华南1(深圳)、新加坡、德国(法兰克福)、美国(硅谷)、美国(弗吉尼亚)、日本(东京)

      1,000,000

      说明
      • 为了及时了解产品下的设备数情况,避免影响新设备接入,建议您配置产品下已创建设备数阈值报警,具体操作,请参见创建阈值报警规则

      • 若设备数量超过限制数量,请新建产品。

    • 一个实例下最多可以添加的设备数:

      地域

      实例类型

      限制

      华东2(上海)、日本(东京)、新加坡、美国(弗吉尼亚)、德国(法兰克福)、美国(硅谷)

      企业版实例

      查看实例的可用资源:由已购买的同时在线设备数规格决定。

      旧版公共实例

      1,000,000

      受公共单元的资源限制影响,存量旧版公共实例规格上限会变更且不再支持扩容,具体说明,请参见旧版公共实例规格上限变更

      华东2(上海)

      新版公共实例

      500

      华北2(北京)、华南1(深圳)

      企业版实例

      查看实例的可用资源:由购买的同时在线设备数规格决定。

      说明
      • 购买企业版实例的详细内容,请参见购买企业版实例

      • 对于企业版实例,若设备数量需求超过已购买的设备数量规格,可为该实例升配。具体操作,请参见为企业版实例升配

      • 对于新版公共实例,若设备数量需求超过500个,可升级公共实例为企业版实例。具体操作,请参见升级为企业版实例

    • 一个阿里云账号下最多可以添加的设备数:

      无。请参见实例维度的设备数量限制。

  • 网关子设备

    • 一个网关设备下最多添加的子设备数为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时,如果请求参数ThingModelJsonARRAYSTRUCT类型数据相互嵌套,最多支持递归嵌套的层级数。

例如ARRAY中只能使用STRUCT,此时该STRUCT中不能再有ARRAYSTRUCT类型数据。

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

单次批量升级最多可升级的设备数量。

重要
  • 对于定向升级的设备文件上传方式,单次批量升级支持最多1,000,000个设备升级。

  • 对于区域升级的指定地域下,单次批量升级支持最多10,000个设备升级。

若设备限制数量不能满足您的业务需求,请提交工单说明您的需求。

  • 企业版实例:300,000

  • 公共实例:100,000

设备任务

一个阿里云账号下,单个地域最多可添加设备任务个数。

10,000

连接通信

限制项

描述

限制

设备接入限制

使用同一个设备证书信息(相同的Productkey、DeviceName)。在同一时间,只能和物联网平台服务器建立一个连接。

1

连接次数

一个阿里云账号每秒最大MQTT连接请求数。

500

保障设备请求连接不被限流的情形下,一个设备每分钟的最大连接请求次数。

5

设备订阅数

一个设备的最大订阅数。

超过订阅数的请求将会被直接拒绝。设备端可以通过验证SUBACK消息,确认请求是否成功。

100

请求数量

旧版公共实例:一个阿里云账号每秒由设备端向物联网平台发送的请求数。

10,000

旧版公共实例:一个阿里云账号每秒由物联网平台向设备端发送的请求数。

2,000

新版公共实例:一个实例下每秒上下行消息请求数。

5

企业版实例:一个实例下每秒上下行消息请求数,由购买的消息上下行TPS规格决定。

购买企业版实例说明,请参见购买企业版实例

查看实例的可用资源

消息通信限流

一个设备每秒最多可上报的QoS 0或QoS 1消息数量。

说明

MQTT的Pub上报消息限流,协议上没有任何应答。您可以通过日志服务发现设备被限流的警告。

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秒定时检测一次设备的保活心跳,设备上线时间点距离最新定时检测时间点的时间,是定时检测的等待时间。定义最大超时时间为:保活心跳时间*1.5+定时检测的等待时间。超过最大超时时间未收到设备消息,服务器会自动断开连接。

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

消息转发处理消息量

  • 新版和旧版公共实例:一个阿里云账号下,消息转发TPS为固定值。

  • 企业版实例:一个实例下消息转发处理消息量,由购买的消息转发TPS规格决定。

    购买企业版实例说明,请参见购买企业版实例

RAM用户共享阿里云账号配额。

消息转发TPS说明:

消息转发TPS=每秒钟通过服务端订阅发送到您的业务服务器的消息数量+云产品流转发送的消息数量

同一秒内,可能n条消息流转至消息转发,然后从消息转发流转到m个目的地,消息转发TPS计算规则为:

  • n>=m时,消息转发TPS计为n

  • n<m时,消息转发TPS计为m

说明
  • 对于流转至云产品的消息量,如果请求量超出该限制,或目标云产品写入耗时过高导致同一时刻写入请求量超出40个,数据转发会被限流。

    转发到RocketMQ、RDS、TSDB等类型的云产品时,若云产品资源变化导致目的云产品无法访问,系统会停止执行转发,并显示规则异常信息;其他异常情况,系统会间隔1秒、3秒、10秒进行3次重试,3次重试均失败后,消息会被丢弃,同时会向您指定的转发错误数据的目标云产品发送一条错误记录。

  • 对于被限流的消息,系统会自动重试处理,多次重试失败的数据会被丢弃。

流转目标要求

数据转发依赖目标云产品,需确保目标云产品实例正常。目标云产品的实例宕机、欠费、参数错误(如授权变更、值非法)、配置错误等异常状况会导致消息流转失败。

消息去重

数据流转时,为确保消息送达,同一条消息可能重复发送,直到客户端返回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:/asde****/+/user/get,无论产品下有多少设备,都计为一个Topic。

消费组个数限制

一个阿里云账号最多创建1,000个消费组。

消费端个数限制

一个消费组最多支持128个消费端。

连接次数限制

一个消费组1分钟内,消费端请求连接不超过100次。

说明

消费端是指接收物联网平台消息的AMQP客户端,而不是设备端。

MNS服务端订阅使用限制,请参见MNS使用限制中,队列相关使用限制。

数据服务

  • 仅华东2(上海)、华北2(北京)、华南1(深圳)、新加坡和美国(弗吉尼亚)地域的标准型和尊享型实例下支持数据服务的全部功能。

  • 日本(东京)、德国(法兰克福)、美国(硅谷)地域仅支持数据服务中的时序存储功能。

数据服务对应功能的使用受已购买实例下资源规格限制。

购买企业版实例并开启数据服务操作,请参见购买企业版实例。数据服务下各功能计费规则,请参见数据服务

云端API限制

调用云端API的每秒请求数(QPS)限制,请参见具体API文档

若您调用接口收到限流报错,如公共错误中28~30类型报错,可以重新尝试调用。