Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här referensen ger uppmätt baslinjeresursförbrukning för Azure IoT Operations distributioner vid inaktivitet (inga aktiva arbetsbelastningar). Använd dessa profiler för att verifiera att maskinvaran uppfyller minimikraven och för att upprätta baslinjer för resursövervakning.
Overview
Azure IoT Operations distribuerar flera komponenter i flera Kubernetes-namnområden. Det totala resursavtrycket beror på två faktorer: MQTT-koordinatorminnesprofilen (som styr minnesallokering per podd) och kardinaliteten för koordinatorn (antal klientdelsrepliker, serverdelspartitioner och redundansfaktor, som styr hur många poddar som distribueras). Högre kardinalitet innebär fler poddar, och en högre minnesprofil innebär att varje podd använder mer minne.
Tre konfigurationer mättes på kluster med en nod vid inaktivitet (inga anslutna tillgångar, inga aktiva dataflöden, nästan noll trafik). Det här är baslinjenummer, inte maxvärden. Produktionsarbetsbelastningar ökar förbrukningen avsevärt:
| Konfiguration | Minnesprofil | Cardinality | Maximalt minne för nod | Azure IoT Operations RSS-topp för namnområdet | Total högsta RSS för podd | Antal poddar |
|---|---|---|---|---|---|---|
| Konfiguration A | Pytteliten | 1 klientdel 1 partition redundansfaktor 2 |
~4 979 MiB | ~1 298 MiB | ~5 409 MiB | 55 |
| Konfiguration B | Låg | 2 frontendar 2 partitioner redundansfaktor 2 |
~5 130 MiB | ~1 559 MiB | ~5 695 MiB | 58 |
| Konfiguration C | Medium | 2 frontendar 2 partitioner redundansfaktor 2 |
~6 088 MiB | ~2 407 MiB | ~6 564 MiB | 58 |
Note
Skillnaden mellan Config A och Config B beror både på högre kardinalitet (fler broker-poddar) och en annan minnesprofil. Skillnaden mellan Config B och Config C är enbart från minnesprofilen (samma kardinalitet, samma poddantal). Se Exempel på produktionsdistribution för inlästa scenarier.
Namnområdesuppdelning
Följande tabell visar högsta RSS-minne per namnrymd för alla tre konfigurationer vid inaktivitet:
| Namespace | Konfiguration A, Liten (MiB) | Konfiguration B, låg (MiB) | Konfiguration C, Medel (MiB) | Description |
|---|---|---|---|---|
| azure-iot-operations | 1,298 | 1,559 | 2,407 | Azure IoT Operations kärntjänster (broker, dataflöden, anslutningar, observabilitet) |
| azure-arc | 1,964 | 1,985 | 1,990 | Azure Arc agenter och kontrollanter |
| cert-manager | 1,351 | 1,357 | 1,362 | certifikathantering |
| gatekeeper-system | 338 | 338 | 350 | Regeltillämpning |
| azure-extensions-usage-system | 279 | 277 | 278 | Faktureringsoperator |
| arc-workload-identity | 90 | 90 | 91 | Webhooks för arbetslastidentitet |
| azure-secret-store | 87 | 88 | 87 | Hemlig synkroniseringskontrollant |
| Total | ~5 409 | ~5 695 | ~6 564 |
Note
- Azure Arc, cert-manager, gatekeeper och andra namnrymder för infrastruktur förbrukar ~3,8–4,1 GB oavsett brokerkonfiguration. Den här kostnaden är den fasta kostnaden för att köra ett Arc-aktiverat kluster med Azure IoT Operations.
-
azure-iot-operationsEndast namnområdet skalar med minnesprofilen och kardinalitetsalternativen, från ~1,3 GB (liten, minimal kardinalitet) till ~2,4 GB (medel, högre kardinalitet). - Planera för minst 6 GB minne dedikerad till Azure IoT Operations infrastruktur vid inaktivitet innan du redovisar arbetsbelastningar.
Resursförbrukning för MQTT-brokerpodd
MQTT-brokern är den största variabla komponenten. Minnesskillnader mellan konfigurationer beror på både minnesprofilen (allokering per podd) och kardinaliteten (antalet poddar). Följande tabell visar inaktiv RSS för varje podd. Dessa siffror växer med trafik:
| Podd | Konfiguration A, Liten (MiB) | Konfiguration B, låg (MiB) | Konfiguration C, Medel (MiB) | Notes |
|---|---|---|---|---|
| aio-broker-frontend-0 | 29 | 33 | 169 | Minnesskalningar per podd med profil |
| aio-broker-frontend-1 | N/A | 33 | 169 | Finns inte i Config A (en frontendreplik) |
| aio-broker-backend-1-0 | 41 | 66 | 211 | Minnesskalningar per podd med profil |
| aio-broker-backend-1-1 | 41 | 65 | 210 | Redundansfaktorreplik |
| aio-broker-backend-2-0 | N/A | 66 | 212 | Finns inte i Konfiguration A (en partition) |
| aio-broker-backend-2-1 | N/A | 65 | 211 | Finns inte i Konfiguration A (en partition) |
| aio-broker-health-manager-0 | 41 | 41 | 42 | Konstant mellan profiler |
| aio-broker-operator-0 | 60 | 60 | 56 | Konstant mellan profiler |
| aio-broker-diagnostics-probe-0 | 24 | 43 | 43 | |
| aio-broker-diagnostics-service-0 | 49 | 66 | 66 | |
| aio-broker-authentication-0 | 24 | 24 | 24 | Konstant mellan profiler |
| aio-broker-webhook-0 | 33 | 35 | 32 | Konstant mellan profiler |
Broker-konfiguration för varje testad profil
| Inställningen | Konfiguration A (liten) | Konfiguration B (låg) | Konfiguration C (medel) |
|---|---|---|---|
| Frontend-repliker | 1 | 2 | 2 |
| Serverdelspartitioner | 1 | 2 | 2 |
| Redundansfaktor för serverdel | 2 | 2 | 2 |
| Totalt antal broker-poddar | 10 | 13 | 13 |
| Inaktivt front-end-minne per pod | ~29 MiB | ~33 MiB | ~169 MiB |
| Inaktivt serverdelsminne per podd | ~41 MiB | ~66 MiB | ~211 MiB |
| Max meddelandestorlek | 4 MB | 16 MB | 64 MB |
Annan Azure IoT Operations komponentförbrukning
Dessa komponenter har konsekvent användning av inaktiva resurser oavsett minnesprofil eller kardinalitet:
| Component | Högsta RSS (MiB) | Högsta CPU (kärnor) | Notes |
|---|---|---|---|
| adr-schema-registry (x2) | ~52 vardera | 0.002 | Schemaregisterpoddar |
| aio-akri-operator-0 | ~39 | 0,001 | Identifiering av Akri-enhet |
| aio-akri-adr-service-0 | ~30 | 0,001 | Tjänsten Akri Azure Device Registry (ADR) |
| aio-dataflow-dev-0 | ~67 | 0.002 | Körning av dataflöde |
| aio-dataflow-operator-0 | ~56 | 0,001 | Dataflödesoperator |
| aio-operator | ~114 | 0.003 | Azure IoT Operations-operatör |
| aio-observability (x2) | ca 125 styck | 0.005 | OpenTelemetry-insamlare |
| aio-observability-operator | ~106 | 0.003 | Observabilitetsoperator |
| aio-observability-cluster-metrics-agent | ~114 | 0.004 | Agent för mätvärden |
| aio-wasm-graph-controller-0 | ~30 | 0,001 | WebAssembly (WASM)-grafstyrenhet |
CPU-förbrukning
CPU-förbrukningen är minimal vid inaktivitet i alla konfigurationer som testats:
| Konfiguration | Azure IoT Operations namnrymd – maximal processoranvändning | Total maximal CPU-användning för hela klustret | % av Node |
|---|---|---|---|
| Konfiguration A (Minimal) | 0,025 kärnor | 0,099 kärnor | 1,3 % |
| Konfiguration B (låg) | 0,044 kärnor | 0,104 kärnor | 1,3 % |
| Konfiguration C (medel) | 0,048 kärnor | 0,093 kärnor | 1,2 % |
Processoranvändningen är försumbar vid inaktivitet. Under produktionsbelastningen förväntar du dig betydligt högre CPU-förbrukning proportionell mot meddelandedataflödet och antalet konfigurerade klientdels-/serverdelsarbetare.
Vägledning för maskinvarustorlek
Baserat på dessa mått för inaktiv baslinje gäller följande lägsta maskinvarurekommendationer för distributioner med en nod. De faktiska kraven är högre under produktionstrafiken:
| Minnesprofil | Min RAM (med utrymme) | Rekommenderat RAM-minne | Användningsfall |
|---|---|---|---|
| Liten | 8 GB | 8–10 GB | Låg trafik, endast små paket |
| Låg nivå | 10 GB | 12–16 GB | Begränsat minne, små paket |
| Medium | 12 GB | 16–32 GB | Måttlig trafik och meddelandestorlekar |
| Hög | 16 GB | 32+ GB | Högt dataflöde, stora meddelanden |
Important
Dessa rekommendationer tar hänsyn till de ~4 GB fasta infrastrukturöverheaden (Azure Arc, cert-manager, gatekeeper) samt det variabla resursavtrycket för Azure IoT Operations-komponenten. Produktionsarbetsbelastningar kräver ytterligare utrymme för MQTT-meddelandebuffertning, dataflödesbearbetning och OPC UA-anslutningsaktivitet.