Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Ten dokument przedstawia zmierzone bazowe zużycie zasobów dla wdrożeń Operacje Azure IoT w stanie bezczynności (bez aktywnych obciążeń). Użyj tych profilów, aby zweryfikować, czy sprzęt spełnia minimalne wymagania i jak ustanowić punkty odniesienia monitorowania zasobów.
Przegląd
Operacje Azure IoT wdraża wiele komponentów w kilku przestrzeniach nazw Kubernetes. Całkowite zużycie zasobów zależy od dwóch czynników: profilu pamięci brokera MQTT (który określa alokację pamięci dla każdego poda) oraz krotności brokera (liczby replik frontendu, partycji backendu i współczynnika nadmiarowości, które określają liczbę wdrożonych podów). Wyższa kardynalność oznacza więcej zasobników, a wyższy profil pamięci oznacza, że każdy zasobnik używa więcej pamięci.
Trzy konfiguracje były mierzone w klastrach z jednym węzłem w stanie bezczynności (bez połączonych zasobów, bez aktywnych przepływów danych, niemal zerowy ruch). Są to liczby bazowe, a nie maksimum. Obciążenia produkcyjne znacznie zwiększają zużycie:
| Configuration | Profil pamięci | Kardynalność | Pamięć szczytowa węzła | Operacje Azure IoT przestrzeń nazw RSS szczytowa | Total Pod Peak RSS | Liczba podów |
|---|---|---|---|---|---|---|
| Konfiguracja A | Malutki | 1 fronton 1 partycja współczynnik nadmiarowości 2 |
~4 979 MiB | ~1298 MiB | ~5409 MiB | 55 |
| Konfiguracja B | Low | 2 frontendy 2 partycje współczynnik nadmiarowości 2 |
~5130 MiB | ~1559 MiB | ~5,695 MiB | 58 |
| Konfiguracja C | Średni | 2 frontendy 2 partycje współczynnik nadmiarowości 2 |
~6 088 MiB | ~2407 MiB | ~6564 MiB | 58 |
Uwaga / Notatka
Różnica między konfiguracją A a konfiguracją B wynika zarówno z większej kardynalności (więcej zasobników brokera) i innego profilu pamięci. Różnica między konfiguracją B i konfiguracją C jest wyłącznie z profilu pamięci (ta sama kardynalność, ta sama liczba zasobników). Zobacz Przykłady wdrożenia produkcyjnego dla załadowanych scenariuszy.
Podział przestrzeni nazw
W poniższej tabeli przedstawiono szczytową pamięć RSS według przestrzeni nazw we wszystkich trzech konfiguracjach w stanie bezczynności:
| Namespace | Konfiguracja A, Tiny (MiB) | Konfiguracja B, niska (MiB) | Konfiguracja C, średnia (MiB) | Description |
|---|---|---|---|---|
| azure-iot-operations | 1,298 | 1,559 | 2,407 | podstawowe usługi Operacje Azure IoT (broker, przepływy danych, łączniki, obserwowalność) |
| azure-arc | 1,964 | 1,985 | 1,990 | Agenty i kontrolery usługi Azure Arc |
| menedżer certyfikatów | 1,351 | 1,357 | 1,362 | Zarządzanie certyfikatami |
| gatekeeper-system | 338 | 338 | 350 | Egzekwowanie zasad |
| azure-extensions-usage-system | 279 | 277 | 278 | Operator płatności |
| arc-workload-identity | 90 | 90 | 91 | Webhooki tożsamości obciążenia |
| azure-secret-store | 87 | 88 | 87 | Kontroler synchronizacji wpisów tajnych |
| Łącznie | ~5,409 | ~5,695 | ~6564 |
Uwaga / Notatka
- Azure Arc, cert-manager, gatekeeper i inne przestrzenie nazw infrastruktury zużywają ok. 3.8-4.1 GB niezależnie od konfiguracji brokera. To obciążenie jest stałym kosztem uruchamiania klastra z obsługą usługi Arc z Operacje Azure IoT.
-
Tylko przestrzeń nazw
azure-iot-operationsskaluje się wraz z profilem pamięci i wyborem kardynalności, od ok. 1,3 GB (Tiny, minimalna kardynalność) do ok. 2,4 GB (Medium, wyższa kardynalność). - Zaplanuj co najmniej 6 GB pamięci przeznaczonej dla infrastruktury Operacje Azure IoT w stanie bezczynności, przed uwzględnieniem jakichkolwiek obciążeń.
Zużycie zasobów poda brokera MQTT
Broker MQTT jest największym składnikiem zmiennej. Różnice w zużyciu pamięci między konfiguracjami wynikają zarówno z profilu pamięci (alokacji na pod), jak i z liczby podów. Poniższa tabela przedstawia RSS w stanie bezczynności dla każdego poda. Te liczby rosną wraz z ruchem:
| Pod | Konfiguracja A, mała (MiB) | Konfiguracja B, niska (MiB) | Konfiguracja C, Średnia (MiB) | Notatki |
|---|---|---|---|---|
| aio-broker-frontend-0 | 29 | 33 | 169 | Pamięć na pod skaluje się wraz z profilem |
| aio-broker-frontend-1 | N/A | 33 | 169 | Nie występuje w konfiguracji A (jedna replika frontendu) |
| aio-broker-backend-1-0 | 41 | 66 | 211 | Pamięć na pod skaluje się w zależności od profilu |
| aio-broker-backend-1-1 | 41 | 65 | 210 | Replika współczynnika redundancji |
| aio-broker-backend-2-0 | N/A | 66 | 212 | Nie występuje w konfiguracji A (jedna partycja) |
| aio-broker-backend-2-1 | N/A | 65 | 211 | Nie występuje w konfiguracji A (jedna partycja) |
| aio-broker-health-manager-0 | 41 | 41 | 42 | Stała we wszystkich profilach |
| aio-broker-operator-0 | 60 | 60 | 56 | Stała we wszystkich profilach |
| aio-broker-diagnostics-probe-0 | 24 | 43 | 43 | |
| aio-broker-diagnostics-service-0 | 49 | 66 | 66 | |
| aio-broker-authentication-0 | 24 | 24 | 24 | Stała we wszystkich profilach |
| aio-broker-webhook-0 | 33 | 35 | 32 | Stała we wszystkich profilach |
Konfiguracja brokera dla każdego przetestowanego profilu
| Setting | Konfiguracja A (mała) | Konfiguracja B (niska) | Konfiguracja C (średnia) |
|---|---|---|---|
| Repliki frontonu | 1 | 2 | 2 |
| Partycje zaplecza | 1 | 2 | 2 |
| Współczynnik nadmiarowości zaplecza | 2 | 2 | 2 |
| Łączna liczba zasobników brokera | 10 | 13 | 13 |
| Bezczynna pamięć interfejsu użytkownika na pod | ~29 MiB | ~33 MiB | ~169 MiB |
| Bezczynna pamięć backendu na pod | ~41 MiB | ~66 MiB | ~211 MiB |
| Maksymalny rozmiar wiadomości | 4 MB | 16 MB | 64 MB |
Inne zużycie składników Operacje Azure IoT
Te składniki mają spójne bezczynne użycie zasobów niezależnie od profilu pamięci lub kardynalności:
| Składnik | Maksymalne RSS (MiB) | Maksymalna liczba rdzeni CPU | Notatki |
|---|---|---|---|
| adr-schema-registry (x2) | ~52 każdy | 0,002 | Zasobniki rejestru schematów |
| aio-akri-operator-0 | ~39 | 0.001 | Odnajdywanie urządzeń Akri |
| aio-akri-adr-service-0 | ~30 | 0.001 | Usługa Akri Azure Device Registry (ADR) |
| aio-dataflow-dev-0 | ~67 | 0,002 | Środowisko uruchomieniowe przepływu danych |
| aio-dataflow-operator-0 | ~56 | 0.001 | Operator przepływu danych |
| aio-operator | ~114 | 0.003 | operator usługi Operacje Azure IoT |
| aio-observability (x2) | ~125 każdy | 0.005 | Kolektory OpenTelemetry |
| aio-observability-operator | ~106 | 0.003 | Operator obserwacji |
| aio-observability-cluster-metrics-agent | ~114 | 0.004 | Agent zbierający metryki |
| aio-wasm-graph-controller-0 | ~30 | 0.001 | Kontroler wykresu WebAssembly (WASM) |
Użycie procesora CPU
Użycie procesora CPU jest minimalne w przypadku bezczynności we wszystkich testowanych konfiguracjach:
| Configuration | Operacje Azure IoT szczytowe użycie procesora CPU przestrzeni nazw | Łączne szczytowe użycie CPU klastra | % węzła |
|---|---|---|---|
| Konfiguracja A (mała) | 0,025 rdzeni | 0,099 rdzeni | 1,3% |
| Konfiguracja B (niska) | 0,044 rdzenie | 0,104 rdzenia | 1,3% |
| Konfiguracja C (Średnia) | 0,048 rdzeni | 0,093 rdzeni | 1,2% |
Użycie procesora CPU jest niewielkie w przypadku bezczynności. Przy obciążeniu produkcyjnym należy oczekiwać znacznie wyższego zużycia procesora, proporcjonalnie do przepustowości komunikatów oraz liczby skonfigurowanych procesów roboczych frontendu i backendu.
Wskazówki dotyczące ustalania rozmiaru sprzętu
Na podstawie tych bezczynnych pomiarów punktu odniesienia następujące minimalne zalecenia dotyczące sprzętu dotyczą wdrożeń z jednym węzłem. Rzeczywiste wymagania są wyższe w ramach ruchu produkcyjnego:
| Profil pamięci | Minimalna ilość pamięci RAM (z zapasem) | Zalecana pamięć RAM | Przypadek użycia |
|---|---|---|---|
| Małe | 8 GB | 8–10 GB | Mały ruch, tylko małe pakiety |
| Low | 10 GB | 12–16 GB | Ograniczona pamięć, małe pakiety |
| Medium | 12 GB | 16–32 GB | Umiarkowany ruch i rozmiary komunikatów |
| Wysoki | 16 GB | 32+ GB | Wysoka przepływność, duże komunikaty |
Ważna
Te zalecenia uwzględniają około ~4 GB stałego narzutu infrastrukturalnego (Azure Arc, cert-manager, gatekeeper) oraz zmienny rozmiar komponentów Operacje Azure IoT. Obciążenia produkcyjne wymagają dodatkowego miejsca na potrzeby buforowania komunikatów MQTT, przetwarzania przepływu danych i działania łącznika OPC UA.