Standaardresourceprofielen voor Azure IoT-bewerkingen

Deze verwijzing biedt gemeten verbruik van basislijnresources voor Azure IoT-bewerkingen implementaties bij inactiviteit (geen actieve workloads). Gebruik deze profielen om te controleren of uw hardware voldoet aan de minimale vereisten en om basislijnen voor resourcebewaking vast te stellen.

Overzicht

Azure IoT-bewerkingen implementeert meerdere onderdelen in verschillende Kubernetes-naamruimten. De totale resourcevoetafdruk is afhankelijk van twee factoren: het geheugenprofiel van de MQTT-broker (waarmee de toewijzing van het geheugen per pod wordt bepaald) en de brokerkardinaliteit (aantal front-endreplica's, back-endpartities en redundantiefactor, waarmee wordt bepaald hoeveel pods worden geïmplementeerd). Hogere kardinaliteit betekent meer pods en een hoger geheugenprofiel betekent dat elke pod meer geheugen gebruikt.

Er zijn drie configuraties gemeten op clusters met één knooppunt bij inactiviteit (geen verbonden assets, geen actieve gegevensstromen, bijna-nul verkeer). Dit zijn basislijnnummers, geen maximumwaarden. Productieworkloads verhogen het verbruik aanzienlijk:

Configuration Geheugenprofiel Kardinaliteit Node-piekgeheugen Azure IoT-bewerkingen naamruimte Peak RSS Total Pod Peak RSS Aantal pods
Config A Piepklein 1 frontend
1 partitie
redundancyfactor 2
~4.979 MiB ~1.298 MiB ~5.409 MiB 55
Config B Low 2 frontends
2 partities
redundantiefactor 2
~5.130 MiB ~1559 MiB ~5.695 MiB 58
Config C Gemiddeld 2 frontends
2 partities
redundantiefactor 2
~6.088 MiB ~2.407 MiB ~6.564 MiB 58

Note

Het verschil tussen Config A en Config B is afkomstig van zowel hogere kardinaliteit (meer brokerpods) als een ander geheugenprofiel. Het verschil tussen Config B en Config C is uitsluitend van het geheugenprofiel (dezelfde kardinaliteit, hetzelfde aantal pods). Zie voorbeelden van productie-implementatie voor geladen scenario's.

Uitsplitsing van naamruimte

De volgende tabel toont het piek-RSS-geheugen per naamruimte voor alle drie de configuraties in inactieve toestand:

Namespace Configuratie A, Klein (MiB) Configuratie B, Laag (MiB) Config C, Middelgroot (MiB) Beschrijving
azure-iot-operations 1,298 1,559 2,407 Azure IoT-bewerkingen kernservices (broker, gegevensstromen, connectors, waarneembaarheid)
azure-arc 1,964 1,985 1,990 Azure Arc-agents en -controllers
certificaatbeheer 1,351 1,357 1,362 Certificaatbeheer
gatekeeper-system 338 338 350 Beleidsafdwinging
azure-extensions-usage-system 279 277 278 Factureringsoperator
arc-workload-identity 90 90 91 Webhooks voor workloadidentiteiten
azure-secret-store 87 88 87 Geheime synchronisatiecontroller
Totaal ~5.409 ~5.695 ~6.564

Note

  • Azure Arc, certificaatbeheer, gatekeeper en andere infrastructuurnaamruimten verbruiken ~3,8-4,1 GB, ongeacht de brokerconfiguratie. Deze overhead is de vaste kostenpost voor het draaien van een cluster waarvoor Arc is ingeschakeld met Azure IoT-bewerkingen.
  • Alleen de azure-iot-operations naamruimte wordt geschaald met het geheugenprofiel en de kardinaliteitskeuzen, van ~1,3 GB (kleine, minimale kardinaliteit) tot ~2,4 GB (gemiddeld, hogere kardinaliteit).
  • Reken op ten minste 6 GB geheugen dat is toegewezen aan de Azure IoT-bewerkingen-infrastructuur in niet-belaste toestand, zonder rekening te houden met workloads.

Resourceverbruik van MQTT-brokerpods

De MQTT-broker is het grootste variabeleonderdeel. Geheugenverschillen tussen configuraties zijn afkomstig van zowel het geheugenprofiel (toewijzing per pod) als de kardinaliteit (aantal pods). De volgende tabel toont niet-actieve RSS per pod. Deze aantallen groeien met verkeer:

Pod Configuratie A, Tiny (MiB) Configuratie B, Laag (MiB) Config C, Middelgroot (MiB) Aantekeningen
aio-broker-frontend-0 29 33 169 Het geheugen per pod schaalt mee met het profiel.
aio-broker-frontend-1 N/A 33 169 Niet aanwezig bij Config A (één frontendreplica)
aio-broker-backend-1-0 41 66 211 Het geheugengebruik per pod schaalt mee met het profiel
aio-broker-backend-1-1 41 65 210 replica van de redundantiefactor
aio-broker-backend-2-0 N/A 66 212 Niet aanwezig in configuratie A (één partitie)
aio-broker-backend-2-1 N/A 65 211 Niet aanwezig in configuratie A (één partitie)
aio-broker-health-manager-0 41 41 42 Constant voor alle profielen
aio-broker-operator-0 60 60 56 Constant voor alle profielen
aio-broker-diagnostics-probe-0 24 43 43
aio-broker-diagnostics-service-0 49 66 66
aio-broker-authentication-0 24 24 24 Constant tussen profielen
aio-broker-webhook-0 33 35 32 Constant voor alle profielen

Brokerconfiguratie per profiel getest

Configuratie Configuratie A (klein) Configuratie B (laag) Configuratie C (gemiddeld)
Front-endreplica’s 1 2 2
Backendpartities 1 2 2
Factor voor backend-redundantie 2 2 2
Totaal aantal brokerpods 10 13 13
Inactief frontendgeheugen per pod ~29 MiB ~33 MiB ~169 MiB
Inactief backendgeheugen per pod ~41 MiB ~66 MiB ~211 MiB
Maximale berichtgrootte 4 MB 16 MB 64 MB

Verbruik van andere Azure IoT-bewerkingen-onderdelen

Deze onderdelen hebben consistent niet-actief resourcegebruik, ongeacht het geheugenprofiel of de kardinaliteit:

Component Piekwaarde RSS (MiB) Maximaal aantal CPU-kernen Aantekeningen
adr-schema-registry (x2) ~52 per stuk 0.002 Schemaregister-pods
aio-akri-operator-0 ~39 0.001 Detectie van Akri-apparaten
aio-akri-adr-service-0 ~30 0.001 Akri Azure Device Registry-service (ADR)
aio-dataflow-dev-0 ~67 0.002 Runtime van gegevensstroom
aio-dataflow-operator-0 ~56 0.001 Gegevensstroomoperator
aio-operator ~114 0.003 operator voor Azure IoT-bewerkingen
aio-observability (x2) ~125 per stuk 0.005 OpenTelemetry collectors
aio-observability-operator ~106 0.003 Operator waarneembaarheid
aio-observability-cluster-metrics-agent ~114 0.004 Agent voor metrische gegevens
aio-wasm-graph-controller-0 ~30 0.001 WebAssembly (WASM)-grafiekcontroller

CPU-verbruik

CPU-verbruik is minimaal bij inactiviteit voor alle configuraties die zijn getest:

Configuration Azure IoT-bewerkingen naamruimte maximaal CPU-gebruik Totale piek-CPU van het cluster % van Node
Configuratie A (Klein) 0,025 kernen 0,099 kernen 1,3%
Configuratie B (Laag) 0,044 kernen 0.104 kernen 1,3%
Configuratie C (gemiddeld) 0,048 kernen 0,093 kernen 1,2%

CPU-gebruik is te verwaarlozen bij inactiviteit. Verwacht onder productiebelasting aanzienlijk hoger CPU-verbruik dat evenredig is met de berichtdoorvoer en het aantal geconfigureerde front-end-/back-endmedewerkers.

Richtlijnen voor het aanpassen van de grootte van hardware

Op basis van deze inactieve basislijnmetingen zijn de volgende minimale hardwareaanbevelingen van toepassing op implementaties met één knooppunt. Werkelijke vereisten zijn hoger onder productieverkeer:

Geheugenprofiel Min RAM (met hoofdruimte) Aanbevolen RAM Gebruikssituatie
Tiny 8 GB 8-10 GB Weinig verkeer, alleen kleine pakketten
Low 10 GB 12-16 GB Beperkt geheugen, kleine pakketten
Gemiddeld 12 GB 16-32 GB Gemiddelde verkeers- en berichtgrootten
Hoog 16 GB 32+ GB Hoge doorvoer, grote berichten

Belangrijk

Deze aanbevelingen zijn verantwoordelijk voor de ~4 GB vaste infrastructuuroverhead (Azure Arc, cert-manager, gatekeeper) plus de variabele Azure IoT-bewerkingen footprint van onderdelen. Voor productieworkloads is extra ruimte vereist voor MQTT-berichtbuffering, gegevensverwerking en OPC UA-connectoractiviteit.