Limity przydziału i ograniczanie przepływności usługi IoT Hub

W tym artykule wyjaśniono limity przydziału dla centrum IoT Hub i podano informacje ułatwiające zrozumienie sposobu działania ograniczania przepustowości.

Każda subskrypcja platformy Azure może mieć co najwyżej 50 centrów IoT i co najwyżej 1 Bezpłatne centrum.

Każde centrum IoT jest aprowizowane przy użyciu jednostek w określonej warstwie. Warstwa i liczba jednostek określają maksymalny dzienny limit przydziału komunikatów, które można wysyłać w centrum dziennie. Rozmiar komunikatu używany do obliczania dziennego limitu przydziału wynosi 0,5 KB dla centrum warstwy Bezpłatna i 4 KB dla wszystkich innych warstw. Aby uzyskać więcej informacji, zobacz Cennik usługi Azure IoT Hub lub [Wybierz odpowiednią warstwę usługi IoT Hub dla rozwiązania].

Limit przydziału centrum można znaleźć w kolumnie Łączna liczba komunikatów /day na stronie cennika usługi IoT Hub w witrynie Azure Portal.

Warstwa określa również limity ograniczania przepustowości wymuszane przez usługę IoT Hub na wszystkich operacjach.

Ograniczenia operacji

Ograniczenia liczby operacji to ograniczenia szybkości stosowane w zakresach minut i mają na celu zapobieganie nadużyciom. Podlegają one również kształtowaniu ruchu.

Dobrym rozwiązaniem jest ograniczenie liczby wywołań, dzięki czemu nie osiągniesz/nie przekroczysz limitów ograniczania przepustowości. Jeśli osiągniesz limit, usługa IoT Hub odpowie kodem błędu 429, a klient powinien wycofać się i ponowić próbę. Te limity są na koncentrator (lub w niektórych przypadkach na koncentrator/jednostkę). Aby uzyskać więcej informacji, zobacz Retry patterns (Wzorce ponawiania prób).

Aby uzyskać szczegółowe informacje o opłatach za operacje i w jakich okolicznościach, zobacz informacje dotyczące rozliczeń.

Operacje w warstwie Podstawowa i Standardowa

W poniższej tabeli przedstawiono wymuszone ograniczenia dla operacji, które są dostępne we wszystkich warstwach usługi IoT Hub. Wartości odwołują się do pojedynczego centrum.

Ograniczenie Bezpłatna, B1 i S1 B2 i S2 B3 i S3
Operacje rejestru tożsamości (tworzenie, pobieranie, wyświetlanie listy, aktualizowanie, usuwanie) 1,67/s/jednostkę (100/min/jednostkę) 1,67/s/jednostkę (100/min/jednostkę) 83,33 s/jednostkę (5000/min/jednostkę)
Nowe połączenia urządzeń (ten limit dotyczy szybkości nowych połączeń, a nie całkowitej liczby połączeń) Wyższa niż 100/s lub 12/s/jednostkę
Na przykład dwie jednostki S1 to 2*12 = 24 nowe połączenia/s, ale masz co najmniej 100 nowych połączeń na sekundę w jednostkach. W przypadku dziewięciu jednostek S1 masz 108 nowych połączeń na sekundę (9*12) w jednostkach.
120 nowych połączeń/s/jednostkę 6000 nowych połączeń na sekundę/jednostkę
Liczba elementów wysłanych z urządzenia do chmury Większa niż 100 operacji wysyłania na sekundę lub 12 operacji wysyłania na sekundę/jednostkę
Na przykład dwie jednostki S1 to 2*12 = 24/s, ale masz co najmniej 100 operacji wysyłania na sekundę w jednostkach. W przypadku dziewięciu jednostek S1 masz 108 operacji wysyłania na sekundę (9*12) w jednostkach.
120 operacji wysyłania na sekundę/jednostkę 6000 operacji wysyłania na sekundę/jednostkę
Przekazywanie pliku 1.67 inicjacje przekazywania plików/sek/jednostkę (100/min/jednostkę) 1.67 inicjacje przekazywania plików/sek/jednostkę (100/min/jednostkę) 83.33 inicjacje przekazywania plików/sek/jednostkę (5000/min/jednostkę)
Zapytania 20/min/jednostka 20/min/jednostka 1000/min/jednostka

Operacje w warstwie Standardowa

W poniższej tabeli przedstawiono wymuszone ograniczenia dla operacji, które są dostępne tylko w warstwach Standardowa. Wartości odwołują się do pojedynczego centrum.

Ograniczenie Bezpłatna i S1 S2 S3
Liczba elementów wysłanych z chmury do urządzenia 1.67 operacje wysyłania/s/jednostkę (100 komunikatów/min/jednostkę) 1.67 operacje wysyłania/s/jednostkę (100 operacji wysyłania/min/jednostkę) 83.33 operacje wysyłania/s/jednostkę (5000 operacji wysyłania/min/jednostkę)
Odbierane z chmury do urządzenia
(tylko wtedy, gdy urządzenie korzysta z protokołu HTTPS)
16.67 operacji odbierania/s/jednostki (1000 operacji odbierania/min/jednostki) 16.67 operacji odbierania/s/jednostki (1000 operacji odbierania/min/jednostki) 833.33 operacje odbierania/s/jednostkę (50 000 operacji odbierania/min/jednostkę)
Metody bezpośrednie 160 KB/s/jednostka1 480 KB/s/jednostka1 24 MB/s/jednostka1
Odczyty bliźniaczej reprezentacji (urządzenia i modułu) 100/s Wyższa niż 100/s lub 10/s/jednostkę 500/s/jednostkę
Aktualizacje bliźniaczej reprezentacji (urządzenie i moduł) 50/s Wyższa niż 50/s lub 5/s/jednostkę 250/s/jednostka
Operacje zadań
(tworzenie, aktualizowanie, wyświetlanie, usuwanie)
1,67/s/jednostkę (100/min/jednostkę) 1,67/s/jednostkę (100/min/jednostkę) 83,33 s/jednostkę (5000/min/jednostkę)
Zadania — operacje urządzenia
(aktualizacja bliźniaczej reprezentacji, wywoływanie metody bezpośredniej)
10/s Większa niż 10/s lub 1/s/jednostkę 50/s/jednostkę
Konfiguracje i wdrożenia brzegowe
(tworzenie, aktualizowanie, wyświetlanie, usuwanie)
0,33 s/jednostkę (20/min/jednostkę) 0,33 s/jednostkę (20/min/jednostkę) 0,33 s/jednostkę (20/min/jednostkę)
Częstotliwość inicjowania strumienia urządzenia 5 nowych strumieni na sekundę 5 nowych strumieni na sekundę 5 nowych strumieni na sekundę
Maksymalna liczba współbieżnych strumieni urządzeń połączonych 50 50 50
Maksymalny transfer danych strumienia urządzenia (zagregowany wolumin dziennie) 300 MB 300 MB 300 MB

1Rozmiar miernika ograniczania to 4 KB. Ograniczanie jest oparte tylko na rozmiarze ładunku żądania.

Szczegóły ograniczania przepustowości

  • Rozmiar miernika określa, co zwiększa limit ograniczania przepustowości. Jeśli ładunek wywołania bezpośredniego wynosi od 0 KB do 4 KB, jest on liowany jako 4 KB. Możesz wykonać maksymalnie 40 wywołań na sekundę na jednostkę, zanim osiągnie limit 160 KB/s/jednostkę.

    Podobnie, jeśli ładunek wynosi od 4 KB do 8 KB, każde wywołanie odpowiada 8 KB i można wykonać do 20 wywołań na sekundę na jednostkę przed osiągnięciu maksymalnego limitu.

    Na koniec, jeśli rozmiar ładunku wynosi od 156 KB do 160 KB, możesz wykonać tylko jedno wywołanie na sekundę na jednostkę w centrum, zanim osiągnie limit 160 KB/s/jednostkę.

  • W przypadku operacji urządzenia zadania (aktualizacja bliźniaczej reprezentacji, wywoływanie metody bezpośredniej) dla warstwy S3, 50/s/unit ma zastosowanie tylko w przypadku wywoływania metod przy użyciu zadań. Jeśli bezpośrednio wywołujesz metody bezpośrednie, ma zastosowanie oryginalny limit ograniczania przepustowości wynoszący 24 MB/s/jednostkę (dla S3).

  • Ograniczenia chmury do urządzenia i urządzenia do chmury określają maksymalną szybkość wysyłania komunikatów niezależnie od 4 KB fragmentów. Komunikaty z urządzenia do chmury mogą mieć maksymalnie 256 KB; Komunikaty z chmury do urządzenia mogą mieć maksymalnie 64 KB. Są to maksymalne rozmiary komunikatów dla każdego typu komunikatu.

Kształtowanie ruchu

Aby obsłużyć ruch z dużą liczbą, usługa IoT Hub akceptuje żądania powyżej ograniczenia przez ograniczony czas. Pierwsze z tych żądań są przetwarzane natychmiast. Jeśli jednak liczba żądań nadal narusza ograniczenie, usługa IoT Hub rozpoczyna umieszczanie żądań w kolejce, a żądania są przetwarzane z szybkością limitu. Ten efekt jest nazywany kształtowaniem ruchu. Ponadto rozmiar tej kolejki jest ograniczony. Jeśli naruszenie ograniczenia będzie kontynuowane, w końcu kolejka zostanie wypełnina, a usługa IoT Hub rozpocznie odrzucanie żądań za pomocą polecenia 429 ThrottlingException.

Na przykład urządzenie symulowane wysyła 200 komunikatów z urządzenia do chmury na sekundę do usługi S1 IoT Hub (co ma limit 100/s wysyłania urządzeń do chmury). W ciągu pierwszej minuty lub dwóch komunikaty są przetwarzane natychmiast. Jednak ponieważ urządzenie nadal wysyła więcej komunikatów niż limit ograniczania, usługa IoT Hub zaczyna przetwarzać tylko 100 komunikatów na sekundę i umieszcza resztę w kolejce. Zaczynasz zauważać zwiększone opóźnienie. W końcu rozpoczniesz pobieranie 429 ThrottlingException w miarę wypełniania kolejki, a metryka IoT Hub "Liczba błędów ograniczania przepustowości" zaczyna rosnąć. Aby dowiedzieć się, jak tworzyć alerty i wykresy na podstawie metryk, zobacz Monitorowanie usługi IoT Hub.

Ograniczanie operacji rejestru tożsamości

Operacje rejestru tożsamości urządzeń są przeznaczone do użycia w czasie wykonywania w scenariuszach zarządzania urządzeniami i aprowizacji. Odczytywanie lub aktualizowanie dużej liczby tożsamości urządzeń jest obsługiwane za pośrednictwem zadań importowania i eksportowania.

Podczas inicjowania operacji tożsamości za pomocą operacji aktualizacji rejestru zbiorczego (nie zadań importowania zbiorczego i eksportowania) obowiązują te same limity ograniczania. Jeśli na przykład chcesz przesłać operację zbiorczą w celu utworzenia 50 urządzeń i masz usługę IoT Hub S1 z jedną jednostką, akceptowane są tylko dwa z tych żądań zbiorczych na minutę. To ograniczenie jest spowodowane ograniczeniem operacji tożsamości dla centrum IoT Hub S1 z jedną jednostką wynosi 100/min/jednostkę. W tym przypadku zostanie odrzucone trzecie żądanie (i inne) w tej samej minucie, ponieważ osiągnięto limit.

Ograniczanie połączeń urządzeń

Ograniczanie połączeń urządzeń określa szybkość nawiązywania nowych połączeń urządzeń z centrum IoT Hub. Ograniczanie połączeń urządzeń nie kontroluje maksymalnej liczby jednocześnie połączonych urządzeń. Ograniczanie szybkości połączeń urządzeń zależy od liczby jednostek aprowizowanych dla centrum IoT.

Na przykład w przypadku zakupu pojedynczej jednostki S1 uzyskasz ograniczenie 100 połączeń na sekundę. W związku z tym połączenie 100 000 urządzeń trwa co najmniej 1000 sekund (około 16 minut). Można jednak mieć dowolną liczbę jednocześnie połączonych urządzeń, ponieważ urządzenia są zarejestrowane w rejestrze tożsamości.

Inne limity

Usługa IoT Hub wymusza inne limity operacyjne:

Operacja Limit
Urządzenia Łączna liczba urządzeń oraz modułów, które można zarejestrować w jednym centrum IoT, jest ograniczona do 1000 000.
Operacje przekazywania plików 10 współbieżnych przekazywania plików na urządzenie.
Zadania1 Maksymalna liczba współbieżnych zadań to 1 (w przypadku warstwy Bezpłatna i S1), 5 (dla S2) i 10 (dla S3). Jednak maksymalna liczba współbieżnych zadań importowania/eksportowania urządzeń wynosi 1 dla wszystkich warstw.
Historia zadań jest przechowywana do 30 dni.
Dodatkowe punkty końcowe Koncentratory jednostek SKU w warstwie Podstawowa i Standardowa mogą mieć 10 dodatkowych punktów końcowych. Bezpłatne koncentratory SKU mogą mieć jeden dodatkowy punkt końcowy.
Zapytania dotyczące routingu komunikatów Koncentratory jednostek SKU w warstwie Podstawowa i Standardowa mogą mieć 100 zapytań routingu. Bezpłatne koncentratory SKU mogą mieć pięć zapytań routingu.
Wzbogacenia wiadomości Koncentratory jednostek SKU w warstwie Podstawowa i Standardowa mogą mieć do 10 wzbogaceń komunikatów. Bezpłatne koncentratory SKU mogą mieć do dwóch wzbogaceń komunikatów.
Obsługa komunikatów z urządzenia do chmury Maksymalny rozmiar komunikatu 256 KB
Komunikaty z chmurydo urządzenia 1 Maksymalny rozmiar komunikatu 64 KB. Maksymalna liczba oczekujących komunikatów dotyczących dostarczania wynosi 50 na urządzenie.
Metodabezpośrednia 1 Maksymalny rozmiar ładunku metody bezpośredniej to 128 KB dla żądania i 128 KB odpowiedzi.
Automatyczne konfiguracje urządzeń i modułów1 100 konfiguracji na koncentrator jednostki SKU w warstwie Podstawowa lub Standardowa. 10 konfiguracji na bezpłatne centrum jednostki SKU.
Wdrożenia automatyczne usługiIoT Edge 1 50 modułów na wdrożenie. 100 wdrożeń (w tym wdrożeń warstwowych) dla podstawowego lub standardowego centrum jednostki SKU. 10 wdrożeń na bezpłatne centrum jednostki SKU.
Bliźniacze reprezentacje1 Maksymalny rozmiar żądanych właściwości i zgłoszonych sekcji właściwości to 32 KB. Maksymalny rozmiar sekcji tagów to 8 KB. Maksymalny rozmiar każdej właściwości w każdej sekcji to 4 KB.
Zasady dostępu współużytkowanego Maksymalna liczba zasad dostępu współdzielonego wynosi 16. W tym limicie maksymalna liczba zasad dostępu współdzielonego, które udzielają dostępu do połączenia z usługą, wynosi 10.
Ograniczanie dostępu do sieci wychodzącej Maksymalna liczba dozwolonych nazw FQDN wynosi 20.
Certyfikaty urzędu certyfikacji x509 Maksymalna liczba certyfikatów x509 urzędu certyfikacji, które można zarejestrować w usłudze IoT Hub, wynosi 25.

1Ta funkcja nie jest dostępna w warstwie podstawową usługi IoT Hub. Aby uzyskać więcej informacji, zobacz How to choose the right IoT Hub (Jak wybrać odpowiednią usługę IoT Hub).

Zwiększanie limitu przydziału lub ograniczenia przepustowości

W dowolnym momencie można zwiększyć limity przydziału lub ograniczenia przepustowości, zwiększając liczbę aprowizowanych jednostek w centrum IoT.

Opóźnienie

Usługa IoT Hub dąży do zapewnienia małych opóźnień dla wszystkich operacji. Jednak ze względu na warunki sieciowe i inne nieprzewidywalne czynniki nie może zagwarantować określonego opóźnienia. Podczas projektowania rozwiązania należy:

  • Unikaj wprowadzania wszelkich założeń dotyczących maksymalnego opóźnienia dowolnej operacji usługi IoT Hub.
  • Aprowizuj centrum IoT w regionie świadczenia usługi Azure najbliżej urządzeń.
  • Rozważ użycie usługi Azure IoT Edge do wykonywania operacji wrażliwych na opóźnienia na urządzeniu lub w bramie w pobliżu urządzenia.

Wiele jednostek usługi IoT Hub ma wpływ na ograniczanie przepustowości zgodnie z wcześniejszym opisem, ale nie zapewniają żadnych dodatkowych korzyści ani gwarancji opóźnień.

Jeśli wystąpi nieoczekiwany wzrost opóźnienia operacji, skontaktuj się z pomoc techniczna firmy Microsoft.

Następne kroki

Aby zapoznać się ze szczegółowym omówieniem zachowania ograniczania przepustowości usługi IoT Hub, zobacz wpis w blogu IoT Hub throttling and You (Ograniczanie przepustowości usługi IoT Hub).