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

生产部署示例

本文介绍两个 Azure IoT 操作部署示例,这些示例从边缘收集数据,并将数据传输到云。 这些示例基于真实场景,它们考虑了硬件能力和数据量。 使用这些示例可以更好地了解 Azure IoT 操作在特定的硬件上能够处理的数据量。

Microsoft 使用类似的配置和数据量来验证 Azure IoT 操作并度量其性能。

单节点群集

此示例演示了 Azure IoT 操作在硬件规格相对较低的主机上运行时的功能。 在此示例中,Azure IoT 操作已部署到单节点群集。 通过资产生成的数据首先与 PLC 聚合,然后发送到适用于 OPC UA 的 Azure IoT 操作连接器。

配置

示例硬件规格:

  • Azure VM 上的 K3s(配备 Intel Xeon Platinum 8370C 的 Standard_D4ds_v5),4 核(4 个 vCPU),16 GB 内存,30 GB 存储。

  • P3 Tiny Workstation 上的 AKS-EE(第 13 代 Intel® Core™ i7-13700 vPro® 处理器),16 核(24 线程),32 GB 内存,1 TB 存储。

重要说明

目前,Ubuntu 24.04 和 Tanzu Kubernetes 上的 K3 是用于在生产环境中部署 Azure IoT作的唯一平台。 要了解详细信息,请参阅支持的环境

下表显示了单节点示例的 MQTT 代理配置:

参数
frontendReplicas 1
前端工作者 1
后端冗余因子 2
backendWorkers 1
backendPartitions 1
memoryProfile

示例中的端到端数据流如下所示:

Assets -> PLC -> Connector for OPC UA -> MQTT broker -> Data flows -> Event Hubs

示例中的数据量如下:

  • 单个 OPC UA 服务器聚合的 125 个资产。
  • 6,250 个标记,基于每个资产的 50 个标记。 每个标记每秒更新 2 次,平均大小为 20 字节。
  • OPC UA 连接器每秒向 MQTT 代理发送 125 条消息。
  • 一个数据流管道将 6,250 个标记推送到事件中心终结点。

在此示例中,Microsoft 建议使用事件中心,因为你只能创建一个具有 4 核 CPU 的数据流实例。 如果选择事件网格,它每秒只能处理 100 条消息。

性能

此示例的关键性能指标包括:

  • Azure IoT 操作及其依赖项消耗 6 GB 到 8 GB 的 RAM。
  • Azure IoT 操作及其依赖项平均消耗 2,400 到 2,600 毫核。
  • 100% 的数据被推送到事件中心。
  • 在理想网络条件下,端到端数据处理延迟小于 10 秒。

多节点群集

当 Azure IoT 操作在多节点群集上运行时,可以处理更多数据并利用 Kubernetes 的高可用性功能。 在此示例中,Azure IoT 操作托管在一个 5 节点群集上,每秒处理来自两个不同数据源的大约 50,000 个数据点。

配置

示例硬件规格:

  • Azure VM 上的 5 节点 K3(配备 Intel Xeon Platinum 8370C 的 Standard_D8d_v5),8 核(8 个 vCPU),32 GB 内存,30 GB 存储。

  • P3 Tiny Workstation 上的 5 节点 K3S(第 13 代 Intel® Core™ i7-13700 vPro® 处理器),16 核(24 线程),32 GB 内存,1 TB 存储。

重要说明

目前,Ubuntu 24.04 和 Tanzu Kubernetes 上的 K3 是用于在生产环境中部署 Azure IoT作的唯一平台。 要了解详细信息,请参阅支持的环境

下表显示了多节点示例的 MQTT 代理配置:

参数
frontendReplicas 5
前端工作者 8
后端冗余因子 2
backendWorkers 4
backendPartitions 5
memoryProfile

在此示例中,存在两种类型的数据源。 一种通过 OPC UA 连接器连接,另一种通过 MQTT 代理连接。

在此示例中,资产并不代表真实的设备,而是一个聚合数据点并发送消息的逻辑分组。

示例中的第一个端到端数据流如下所示:

Assets -> PLC -> Connector for OPC UA -> MQTT broker -> Data flows -> Event Hubs

示例中第一个数据流的数据量为:

  • 85 个资产,由 5 个 OPC UA 服务器聚合。
  • 85,000 个标记,基于每个资产的 1,000 个标记。 每个标记每秒更新 1 次,平均大小为 8 字节。 每个周期大约有 50% 的标记值会发生更改。 数据点更新速率为 45,000/秒。
  • OPC UA 连接器每秒向 MQTT 代理发送 85 条消息。
  • 一个数据流管道将 85,000 个标记推送到事件中心终结点。

示例中的第二个端到端数据流如下所示:

MQTT client (Paho) -> MQTT Broker -> Data flows -> Event Hubs

示例中第二个数据流的数据量为:

  • 两个 MQTT 客户端直接连接到 MQTT 代理。
  • 每个客户端每秒发布 10,000 个值。
    • 每个周期大约有 1/3 的标记值会发生更改。
    • 使用 JSON 格式进行编码。 每个项(值)的大小约为 180 字节。

性能

此示例的关键性能指标包括:

  • Azure IoT 操作及其依赖项消耗 25 GB 到 30 GB 的 RAM。
  • Azure IoT 操作及其依赖项平均消耗 2,500 到 3,000 毫核。
  • 100% 的数据被推送到事件中心。
  • 在理想网络条件下,端到端数据处理延迟小于 10 秒。