你当前正在访问 Microsoft Azure Global Edition 技术文档网站。 如果需要访问由世纪互联运营的 Microsoft Azure 中国技术文档网站,请访问 https://docs.azure.cn

IoT 中心配额和限制

本文介绍了适用于 IoT 中心资源的限制。

层配额和单位配额

IoT 中心有七种类型的层:免费、基本(B1、B2、B3)和标准层(S1、S2、S3)。 免费层用于测试和评估。 基本层和标准层适用于生产用途。 有关层之间的差异的详细信息,请参阅 为解决方案选择正确的 IoT 中心层和大小

每个 Azure 订阅最多可以有 50 个 IoT 中心,最多可以有一个免费层中的中心。

每个 IoT 中心都在特定层中预配了单位。 层和单位数决定了消息的每日配额上限。 对于免费层中心,用于计算每日配额的消息大小为 0.5 KB,对于所有其他层为 4 KB。 有关详细信息,请参阅 Azure IoT 中心定价。 层还决定了 IoT 中心对所有操作强制实施的限制。

查看配额限制

可以在 Azure 门户中找到你的中心的配额限制。

  1. Azure 门户中导航到 IoT 中心。
  2. 选择“概述”页。概述 ”页列出了 每日邮件限制
  3. 可以在 中心设置>定价和缩放中查看和调整每日消息限制。

操作限制

操作限制是以分钟为时间单位实施的速率限制,目的是防止资源滥用。 该机制还受流量整形的约束。

最好限制调用频率,以避免达到或超过限制阈值。 如果达到限制,IoT 中心会响应 error code 429,客户端应回退并重试。 这些限制是按每个中心(在某些情况下,按每个单位的每个中心)施加的。 有关详细信息,请参阅重试模式

有关哪些操作收费以及在何种情况下收费的定价详细信息,请参阅 Azure IoT 中心计费信息

基本层和标准层操作

下表显示了所有 IoT 中心层中可用操作的强制限制。 值与单个中心相关。

重要

Azure 设备注册表和证书管理仅在免费层和 S1 层中可用。

限制 免费、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/分钟/单位

标准层操作

下表显示了仅标准层中可用的操作的强制限制。 值与单个中心相关。

重要

Azure 设备注册表和证书管理仅在免费层和 S1 层中可用。

限制 免费和 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/秒/单位1 480KB/秒/单位1 24MB/秒/单位1
孪生(设备和模块)读取 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。 在达到 160 KB/秒/单位的限制前,每秒每单位最多可进行 40 次调用。

    同样,若有效负载介于 4 KB 到 8 KB 之间,且每次调用按 8 KB 计费,则在达到 160 KB/秒/单位的限制前,每秒每单位最多可进行 20 次调用。

    最后,如果有效负载为 156 KB 到 160 KB,则在中心只能每个单位每秒进行 1 次调用,然后就会达到 160 KB/秒/单位的限制。

  • 就 S3 层级的作业设备操作(更新孪生、调用直接方法)来说,50/秒/单位仅适用于使用作业来调用方法的情况。 如果直接调用直接方法,则适用 S3 原有的 24 MB/秒/单位限制。

  • 云到设备和设备到云限制决定了发送消息的最大速率(不考虑 4 KB 区块)。 设备到云的消息最大为 256 KB;云到设备的消息最大为 64 KB。 这些是每种类型消息的最大大小。

流量整形

为了应对突发流量,IoT 中心可在有限时间段内接受超出限制的请求。 前几个超出限制的请求会立即得到处理。 但是,如果请求数持续违反限制,IoT 中心会开始将请求放入队列,并以限制速率对请求进行处理。 此效应称为“流量整形”。 此外,此队列的大小也会受到限制。 如果持续超出限制,队列最终会填满,而 IoT 中心将开始返回 429 ThrottlingException 并拒绝请求。

例如,每秒向 S1 IoT 中心发送 200 条设备到云的消息(限制为 100 条消息/秒)。 在前一两分钟,消息会立即得到处理。 但是,由于设备发送的消息数持续超出限制值,IoT 中心会开始每秒只处理 100 条消息,并将剩余的消息放入队列。 此时你会发现延迟开始增加。 最终,在队列填满后,你会开始收到 429 ThrottlingException,并且“限制错误数”IoT 中心指标会开始增加。 若要了解如何基于指标创建警报和图表,请参阅 “监视 Azure IoT 中心”。

标识注册表操作限制

设备标识注册表操作专为设备管理与预配方案中的运行时使用而设计。 通过导入和导出作业可以支持读取或更新大量的设备标识。

相同的限制适用于通过批量注册表更新操作(非批量导入和导出作业)发起的标识操作。 例如,如果提交多个批量操作来创建每批 50 个设备,并且拥有一个 S1 IoT 中心和一个单元,则每分钟只接受其中两个批量请求。 此限制是因为对于具有 1 个单元的 S1 IoT 中心,标识操作限制为 100/分钟/单元。 在这种情况下,同一分钟内的第三个请求(及以后)将被拒绝,因为达到了限制。

设备连接限制

“设备连接”限制控制与 IoT 中心建立新设备连接的速率。 “设备连接”限制与同时连接的最大设备数不相关。 增加 IoT 中心内的单位数以提高设备连接速率。

例如,如果购买的是单一 S1 单位,则限制为 100 个连接/秒。 因此,若要连接 100,000 台设备,至少需要花费 1,000 秒(大约 16 分钟)。 但是,同时连接的设备数可与用户在标识注册表中注册的设备数相同(最多 1,000,000)。

其他限制

IoT 中心强制实施的其他操作限制:

Operation 限制
设备和模块标识 可注册到单个 IoT 中心的设备和模块的总数上限为 1,000,000。
文件上传 每个设备 10 个并发文件上传。
作业1 最大并发作业数为 1(对于免费层和 S1)、5(对于 S2)和 10(对于 S3)。 但是,所有层的最大并发设备导入/导出作业数为 1。
作业历史记录最多保留 30 天。
额外的端点 基本层和标准层中心可以有 10 个额外的终结点。 免费层中心可以有一个额外的终结点。
消息路由查询 基本层和标准层中心可以有 100 个路由查询。 免费层中心可以有五个路由查询。
消息扩充 基本层和标准层中心可能有最多 10 个消息扩充。 免费层中心可能有最多 2 个消息扩充。
设备到云的消息传递 最大消息大小为 256 KB
云到设备的消息传递1 最大消息大小为 64 KB。 最大传递挂起消息数为每个设备 50 个。
直接方法1 请求的最大直接方法有效负载大小为 128 KB,响应的相应负载大小为 128 KB。
自动设备和模块配置1 每个基本层或标准层中心 100 个配置。 每个免费层中心 10 个配置。
IoT Edge 自动部署1 每个部署 50 个模块。 每个基本层或标准层中心有 100 个部署(包括分层部署)。 每个免费层中心 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 Hub 单元会影响之前所述的速率限制,但不会提供额外的延迟优势或保障。

如果发现操作延迟意外增加,请与 Microsoft 支持部门联系。