Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
Questo documento di riferimento fornisce i valori misurati del consumo di risorse di base per le distribuzioni di Operazioni di Azure IoT in stato di inattività (senza carichi di lavoro attivi). Usare questi profili per convalidare l'hardware soddisfa i requisiti minimi e stabilire le baseline di monitoraggio delle risorse.
Overview
Operazioni di Azure IoT distribuisce più componenti in diversi spazi dei nomi Kubernetes. Il footprint totale delle risorse dipende da due fattori: il profilo di memoria del broker MQTT (che controlla l'allocazione di memoria per pod) e la cardinalità del broker (numero di repliche front-end, partizioni back-end e fattore di ridondanza, che controlla il numero di pod distribuiti). Una cardinalità più elevata significa un numero maggiore di pod e un profilo di memoria più elevato significa che ciascun pod utilizza una maggiore quantità di memoria.
Tre configurazioni sono state misurate su cluster a nodo singolo inattive (nessun asset connesso, flussi di dati attivi, traffico quasi zero). Si tratta di numeri di base, non massimi. I carichi di lavoro di produzione aumentano significativamente il consumo:
| Configurazione | Profilo di memoria | Cardinality | Memoria massima del nodo | Picco di RSS dello spazio dei nomi di Operazioni di Azure IoT | Picco totale di RSS del pod | Numero di pod |
|---|---|---|---|---|---|---|
| Configurazione A | Minuscolo | 1 frontend 1 partizione fattore di ridondanza 2 |
~4.979 MiB | ~1.298 MiB | ~5.409 MiB | 55 |
| Configurazione B | Low | 2 frontend 2 partizioni fattore di ridondanza 2 |
~5.130 MiB | ~1.559 MiB | ~5.695 MiB | 58 |
| Configurazione C | Intermedio | 2 frontend 2 partizioni fattore di ridondanza 2 |
~6.088 MiB | ~2.407 MiB | ~6.564 MiB | 58 |
Note
La differenza tra Config A e Config B deriva sia da cardinalità superiore (più pod broker) che da un profilo di memoria diverso. La differenza tra Config B e Config C è esclusivamente dal profilo di memoria (stessa cardinalità, stesso numero di pod). Vedere Esempi di distribuzione di produzione per scenari caricati.
Scomposizione dello spazio dei nomi
La tabella seguente mostra il picco di memoria RSS per spazio dei nomi in tutte e tre le configurazioni inattive:
| Namespace | Configurazione A, Piccola (MiB) | Configurazione B, Basso (MiB) | Config C, Medio (MiB) | Description |
|---|---|---|---|---|
| azure-iot-operations | 1,298 | 1,559 | 2,407 | Operazioni di Azure IoT servizi di base (broker, flussi di dati, connettori, osservabilità) |
| azure-arc | 1,964 | 1,985 | 1,990 | Agenti e controller Azure Arc |
| cert-manager | 1,351 | 1,357 | 1,362 | Gestione dei certificati |
| gatekeeper-system | 338 | 338 | 350 | Applicazione dei criteri |
| azure-extensions-usage-system | 279 | 277 | 278 | Operatore di fatturazione |
| arc-workload-identity | 90 | 90 | 91 | Webhook di identità del carico di lavoro |
| azure-secret-store | 87 | 88 | 87 | Controller di sincronizzazione dei segreti |
| Totale | ~5.409 | ~5.695 | ~6.564 |
Note
- Azure Arc, cert-manager, gatekeeper e altri namespace dell'infrastruttura utilizzano ~3.8-4.1 GB indipendentemente dalla configurazione del broker. Questo sovraccarico è il costo fisso dell'esecuzione di un cluster abilitato per Arc con Operazioni di Azure IoT.
-
Solo il
azure-iot-operationsnamespace varia in base al profilo di memoria e alle scelte di cardinalità, da ~1,3 GB (Tiny, cardinalità minima) a ~2,4 GB (Medium, cardinalità più elevata). - Pianificare almeno 6 GB di memoria dedicata all'infrastruttura di Operazioni di Azure IoT inattiva prima di tenere conto dei carichi di lavoro.
Consumo di risorse del pod broker MQTT
Il broker MQTT è il componente variabile più grande. Le differenze di memoria tra le configurazioni provengono sia dal profilo di memoria (allocazione per pod) che dalla cardinalità (numero di pod). La tabella seguente mostra l'RSS inattivo per pod. Questi numeri aumentano con il traffico:
| Pod | Configurazione A, Piccola (MiB) | Configurazione B, Basso (MiB) | Config C, Medio (MiB) | Note |
|---|---|---|---|---|
| aio-broker-frontend-0 | 29 | 33 | 169 | La memoria per pod si adatta in base al profilo |
| aio-broker-frontend-1 | N/A | 33 | 169 | Non presente nella configurazione A (una replica front-end) |
| aio-broker-backend-1-0 | 41 | 66 | 211 | La memoria per pod si adatta in base al profilo |
| aio-broker-backend-1-1 | 41 | 65 | 210 | Replica del fattore di ridondanza |
| aio-broker-backend-2-0 | N/A | 66 | 212 | Non presente nella configurazione A (una partizione) |
| aio-broker-backend-2-1 | N/A | 65 | 211 | Non presente nella configurazione A (una partizione) |
| aio-broker-health-manager-0 | 41 | 41 | 42 | Costante in tutti i profili |
| aio-broker-operator-0 | 60 | 60 | 56 | Costante in tutti i profili |
| aio-broker-diagnostics-probe-0 | 24 | 43 | 43 | |
| aio-broker-diagnostics-service-0 | 49 | 66 | 66 | |
| aio-broker-authentication-0 | 24 | 24 | 24 | Costante in tutti i profili |
| aio-broker-webhook-0 | 33 | 35 | 32 | Costante in tutti i profili |
Configurazione del broker testata per ciascun profilo
| Setting | Configurazione A (tiny) | Configurazione B (bassa) | Configurazione C (medium) |
|---|---|---|---|
| Repliche frontend | 1 | 2 | 2 |
| Partizioni di backend | 1 | 2 | 2 |
| Fattore di ridondanza back-end | 2 | 2 | 2 |
| Pod broker totali | 10 | 13 | 13 |
| Memoria frontend non utilizzata per pod | ~29 MiB | ~33 MiB | ~169 MiB |
| Memoria backend non utilizzata per pod | ~41 MiB | ~66 MiB | ~211 MiB |
| Dimensione massima messaggio | 4 MB | 16 MB | 64 MB |
Altro consumo di componenti Operazioni di Azure IoT
Questi componenti hanno un utilizzo coerente delle risorse inattive indipendentemente dal profilo di memoria o dalla cardinalità:
| Componente | Picco RSS (MiB) | CPU di picco (core) | Note |
|---|---|---|---|
| adr-schema-registry (x2) | circa 52 ciascuno | 0,002 | Pod del registro degli schemi |
| aio-akri-operator-0 | ~39 | 0,001 | Individuazione dei dispositivi Akri |
| aio-akri-adr-service-0 | ~30 | 0,001 | Servizio Akri Azure Device Registry (ADR) |
| aio-dataflow-dev-0 | ~67 | 0,002 | Runtime del flusso di dati |
| aio-dataflow-operator-0 | ~56 | 0,001 | Operatore di flusso di dati |
| aio-operator | ~114 | 0.003 | operator di Operazioni di Azure IoT |
| aio-observability (x2) | ~125 ciascuno | 0.005 | Agenti di raccolta OpenTelemetry |
| aio-observability-operator | ~106 | 0.003 | Operatore di osservabilità |
| aio-observability-cluster-metrics-agent | ~114 | 0.004 | Metriche agente |
| aio-wasm-graph-controller-0 | ~30 | 0,001 | Controllore del grafico WebAssembly (WASM) |
Utilizzo della CPU
L'utilizzo della CPU è minimo in stato di inattività in tutte le configurazioni testate:
| Configurazione | Picco di CPU dello spazio dei nomi di Operazioni di Azure IoT | CPU totale di picco del cluster | % del nodo |
|---|---|---|---|
| Config A (Piccola) | 0.025 core | 0.099 core | 1,3% |
| Configurazione B (bassa) | 0.044 core | 0.104 core | 1,3% |
| Config C (medium) | 0,048 nuclei | 0.093 core | 1,2% |
L'utilizzo della CPU è trascurabile in caso di inattività. Con il carico di produzione, si prevede un consumo di CPU significativamente superiore proporzionale alla velocità effettiva dei messaggi e al numero di ruoli di lavoro front-end/back-end configurati.
Linee guida per il ridimensionamento hardware
In base a queste misurazioni di base inattive, per le distribuzioni a nodo singolo si applicano le raccomandazioni hardware minime seguenti. I requisiti effettivi sono più elevati nel traffico di produzione:
| Profilo di memoria | RAM minima (con margine) | RAM consigliata | Caso d'uso |
|---|---|---|---|
| Minuscolo | 8GB | 8-10 GB | Traffico ridotto, solo pacchetti di piccole dimensioni |
| Basso | 10 GB | 12-16 GB | Memoria limitata, pacchetti di piccole dimensioni |
| Medium | 12 GB | 16-32 GB | Moderare il traffico e le dimensioni dei messaggi |
| Alto | 16 GB | 32+ GB | Velocità effettiva elevata, messaggi di grandi dimensioni |
Importante
Queste raccomandazioni tengono conto dei ~4 GB di overhead fisso dell'infrastruttura (Azure Arc, cert-manager, gatekeeper), oltre all'ingombro variabile del componente Operazioni di Azure IoT. I carichi di lavoro di produzione richiedono un margine aggiuntivo per il buffering dei messaggi MQTT, l'elaborazione dei flussi di dati e l'attività del connettore OPC UA.