你当前正在访问 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 秒。