IoT 中心配额和限制
本文介绍了适用于 IoT 中心资源的限制。
每个 Azure 订阅最多可以有 50 个 IoT 中心和 1 个免费层的中心。
每个 IoT 中心都在特定层中预配了单位。 层和单位数决定了消息的每日配额上限。 用于计算每日配额的消息大小为 0.5 KB(适用于中心的免费层)和 4 KB(适用于所有其他层)。 有关详细信息,请参阅 Azure IoT 中心定价或为解决方案选择合适的 IoT 中心层。
可以在 Azure 门户中找到你的中心的配额限制。 IoT 中心的“概览”页列出了“每日消息配额”。 还可以在“中心设置”>“定价和缩放”中查看和调整此限制。
层还决定了 IoT 中心对所有操作强制实施的限制。
操作限制
操作限制是在分钟范围内应用的速率限制,主要是为了防止不当使用。 它们还受流量整形的约束。
最好是限制调用数,这样就不会达到/超过限制。 如果你达到限制,IoT 中心会以错误代码 429 进行响应,客户端应回退并重试。 这些限制是按中心(在某些情况下,按中心/单位)应用的。
有关哪些操作在什么情况下收费的定价详细信息,请参阅 计费信息。
基本层和标准层操作
下表显示了所有 IoT 中心层中可用操作的强制限制。 值与单个中心相关。
限制 | 免费、B1 和 S1 | B2 和 S2 | B3 和 S3 |
---|---|---|---|
标识注册表操作(创建、检索、列出、更新、删除) | 1.67/秒/单位(100/分钟/单位) | 1.67/秒/单位(100/分钟/单位) | 83.33/秒/单位(5,000/分钟/单位) |
新设备连接(此限制适用于建立新连接的速率,而不是连接总数) | 高于 100/秒或 12/秒/单位 例如,两个 S1 单位是 2*12 = 24 个新连接/秒,但你的单位至少有 100 个新连接/秒。 如果有 9 个 S1 单位,则你的单位就有 108 个新连接/秒 (9*12)。 |
120 个新连接/秒/单位 | 6,000 个新连接/秒/单位 |
设备到云的发送 | 100 个发送操作/秒或 12 个发送操作/秒/单位,具体取决于哪一个更高 例如,两个 S1 单位是 2*12 = 24/秒,但是在所有单位中至少有 100 个发送操作/秒。 如果有 9 个 S1 单位,则你的单位就有 108 个发送操作/秒 (9*12)。 |
120 个发送操作/秒/单位 | 6,000 个发送操作/秒/单位 |
文件上传 | 1.67 次文件上传启动/秒/单位(100/分钟/单位) | 1.67 次文件上传启动/秒/单位(100/分钟/单位) | 83.33 次文件上传启动/秒/单位(5,000/分钟/单位) |
查询 | 20/分钟/单位 | 20/分钟/单位 | 1,000/分钟/单位 |
标准层操作
下表显示了仅标准层中可用的操作的强制限制。 值与单个中心相关。
限制 | 免费和 S1 | S2 | S3 |
---|---|---|---|
云到设备的发送 | 1.67 个发送操作/秒/单位(100 条消息/分钟/单位) | 1.67 个发送操作/秒/单位(100 个发送操作/分钟/单位) | 83.33 个发送操作/秒/单位(5,000 个发送操作/分钟/单位) |
云到设备的接收 (仅当设备使用 HTTPS 时) |
16.67 个接收操作/秒/单位(1,000 个接收操作/分钟/单位) | 16.67 个接收操作/秒/单位(1,000 个接收操作/分钟/单位) | 833.33 个接收操作/秒/单位(50,000 个接收操作/分钟/单位) |
直接方法 | 160KB/sec/unit1 | 480KB/sec/unit1 | 24MB/sec/unit1 |
孪生(设备和模块)读取 | 100/秒 | 高于 100/秒或 10/秒/单位 | 500/秒/单位 |
孪生更新(设备和模块) | 50/秒 | 高于 50/秒或 5/秒/单位 | 250/秒/单位 |
作业操作 (创建、更新、列表、删除) |
1.67/秒/单位(100/分钟/单位) | 1.67/秒/单位(100/分钟/单位) | 83.33/秒/单位(5,000/分钟/单位) |
作业设备操作 (更新孪生、调用直接方法) |
10/秒 | 高于 10/秒或 1/秒/单位 | 50/秒/单位 |
配置和 Edge 部署 (创建、更新、列表、删除) |
0.33/秒/单位(20/分钟/单位) | 0.33/秒/单位(20/分钟/单位) | 0.33/秒/单位(20/分钟/单位) |
设备流启动率 | 5 个新流/秒 | 5 个新流/秒 | 5 个新流/秒 |
最大并发连接设备流数 | 50 | 50 | 50 |
最大设备流数据传输(每日聚合量) | 300 MB | 300 MB | 300 MB |
1 请求限制计量大小为 4 KB。 限制仅基于请求有效负载大小。
限制详细信息
计量大小决定了以什么样的增量来使用限制。 如果直接调用的有效负载为 0 KB 到 4 KB,则计为 4 KB。 可以每个单位每秒进行高达 40 次的调用,然后才会达到 160 KB/秒/单位的限制。
同样,如果有效负载为 4 KB 到 8 KB,则每个调用计为 8 KB,可以每个单位每秒进行高达 20 次的调用,然后才会达到最大限制。
最后,如果有效负载为 156 KB 到 160 KB,则在中心只能每个单位每秒进行 1 次调用,然后就会达到 160 KB/秒/单位的限制。
就 S3 层级的作业设备操作(更新孪生、调用直接方法)来说,50/秒/单位仅适用于使用作业来调用方法的情况。 如果直接调用直接方法,则适用原始的 24 MB/秒/单位(针对 S3)限制。
云到设备和设备到云限制决定了发送消息的最大速率(不考虑 4 KB 区块)。 设备到云的消息最大为 256 KB;云到设备的消息最大为 64 KB。 这些是每种类型的消息的最大消息大小。
流量整形
为了应对突发流量,IoT 中心可在有限的一段时间内接受超出限制的请求。 其中的前几个请求会立即得到处理。 但是,如果请求数持续违反限制,IoT 中心会开始将请求放入队列,并以限制速率对请求进行处理。 此效应称为“流量整形”。 此外,此队列的大小受到限制。 如果违反限制的情况持续出现,队列最终将会填满,而 IoT 中心会开始拒绝请求并引发 429 ThrottlingException
。
例如,你每秒向 S1 IoT 中心发送 200 条设备到云的消息(上限为 100 条消息/秒)。 在前一两分钟,消息会立即得到处理。 但是,由于设备发送的消息数持续超过限制,IoT 中心随后将每秒处理 100 条消息,并将剩余的消息放入队列。 此时你会注意到延迟增大。 最终,在队列填满后,你会开始收到 429 ThrottlingException
,并且“限制错误数”IoT 中心指标会开始增加。 若要了解如何基于指标创建警报和图表,请参阅监视 IoT 中心。
标识注册表操作限制
设备标识注册表操作用于设备管理与预配方案中的运行时使用。 通过导入和导出作业可以支持读取或更新大量的设备标识。
相同的限制适用于通过批量注册表更新操作(非批量导入和导出作业)发起的标识操作。 例如,如果提交批量操作,每个操作创建 50 个设备,并且你有具有 1 个单元的 S1 IoT 中心,则每分钟仅接受其中两个批量请求。 此限制是因为对于具有 1 个单元的 S1 IoT 中心,标识操作限制为 100/分钟/单元。 在这种情况下,将拒绝同一分钟内第三个请求(以及更多),因为已达到该限制。
设备连接限制
“设备连接” 限制控制与 IoT 中心建立新设备连接的速率。 “设备连接”限制与同时连接的最大设备数不相关。 增加 IoT 中心内的单位数以提高设备连接率。
例如,如果购买的是单一 S1 单位,则限制为 100 个连接/秒。 因此,若要连接 100,000 台设备,至少需要花费 1,000 秒(大约 16 分钟)。 但是,同时连接的设备数可与用户在标识注册表中注册的设备数相同(最多 1,000,000)。
其他限制
IoT 中心强制实施其他操作限制:
操作 | 限制 |
---|---|
设备和模块标识 | 可注册到单个 IoT 中心的设备和模块的总数上限为 1,000,000。 |
文件上传 | 每个设备 10 个并发文件上传。 |
作业1 | 最大并发作业数为 1(对于免费层和 S1)、5(对于 S2)和 10(对于 S3)。 但是,所有层的最大并发设备导入/导出作业数为 1。 作业历史记录最多保留 30 天。 |
额外终结点 | 基本和标准 SKU 中心可以有 10 个额外的终结点。 免费 SKU 中心可以有 1 个额外的终结点。 |
消息路由查询 | 基本和标准 SKU 中心可以有 100 个路由查询。 免费 SKU 中心可包含 5 个路由查询。 |
消息扩充 | 基本和标准 SKU 中心可能有最多 10 个消息扩充。 免费 SKU 中心可能有最多 2 个消息扩充。 |
设备到云的消息传送 | 最大消息大小 256 KB |
云到设备的消息传递1 | 最大消息大小为 64 KB。 最大传递挂起消息数为每个设备 50 个。 |
直接方法1 | 请求的最大直接方法有效负载大小为 128 KB,响应的相应负载大小为 128 KB。 |
自动设备和模块配置1 | 每个基本或标准 SKU 中心 100 个配置。 每个免费 SKU 中心 10 个配置。 |
IoT Edge 自动部署1 | 每个部署 50 个模块。 每个基本或标准 SKU 中心 100 个部署(包括分层部署)。 每个免费 SKU 中心 10 个部署。 |
孪生1 | 所需属性和报告的属性部分的最大大小各为 32 KB。 标记部分的最大大小为 8 KB。 每个部分中每个单独属性的最大大小为 4 KB。 |
共享访问策略 | 共享访问策略的最大数目为 16。 在该限制内,授予服务连接访问权限的共享访问策略的最大数目为 10。 |
限制出站网络访问 | 允许的最大 FQDN 数为 20。 |
x509 CA 证书 | 可在 IoT 中心注册的 x509 CA 证书的最大数目为 25。 |
1 此功能在 IoT 中心的基本层内不可用。 有关详细信息,请参阅如何选择正确的 IoT 中心。
提高配额或限制的上限
无论何时,都可通过增加 IoT 中心内的预配单位数来提高配额或限制。
延迟
IoT 中心致力于降低所有操作的延迟。 但是,由于网络条件和其他不可预测因素,它不能保证特定的延迟。 在设计解决方案时,应该:
- 避免对任何 IoT 中心操作的最大延迟进行假定。
- 在离设备最近的 Azure 区域预配 IoT 中心。
- 请考虑在设备上或在离设备近的网关上使用 Azure IoT Edge 执行易受延迟影响的操作。
如前所述,添加 IoT 中心单位会影响限制,但不会提供任何额外的延迟方面的好处或保证。
如果发现操作延迟意外增加,请与 Azure 支持联系。