Limity przydziału i ograniczanie przepływności usługi IoT Hub
W tym artykule opisano limity dotyczące zasobów usługi IoT Hub.
Każda subskrypcja platformy Azure może mieć co najwyżej 50 centrów IoT Hub i co najwyżej 1 centrum w warstwie Bezpłatna.
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. 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 swojego rozwiązania.
Limit przydziału centrum można znaleźć w witrynie Azure Portal. Strona Przegląd centrum IoT zawiera listę dziennego limitu przydziału komunikatów. Możesz również wyświetlić i dostosować ten limit w obszarze Ustawienia>centrum — cennik i skala.
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 na 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 IoT Hub. Wartości odnoszą 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 na sekundę/jednostkę (100 na minutę/jednostkę) | 1,67 na sekundę/jednostkę (100 na minutę/jednostkę) | 83,33 na sekundę/jednostkę (5000 na minutę/jednostkę) |
Nowe połączenia urządzeń (ten limit dotyczy częstotliwości nawiązywania 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ń na sekundę/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 plików | 1,67 inicjacji przekazywania plików na sekundę/jednostkę (100 na minutę/jednostkę) | 1,67 inicjacji przekazywania plików na sekundę/jednostkę (100 na minutę/jednostkę) | 83,33 inicjacji przekazywania plików na sekundę/jednostkę (5000 na minutę/jednostkę) |
Zapytania | 20 na minutę/jednostkę | 20 na minutę/jednostkę | 1000 na minutę/jednostkę |
Operacje w warstwie Standardowa
W poniższej tabeli przedstawiono wymuszone ograniczenia dla operacji, które są dostępne tylko w warstwie Standardowa. Wartości odnoszą się do pojedynczego centrum.
Ograniczenie | Bezpłatna i S1 | S2 | S3 |
---|---|---|---|
Liczba elementów wysłanych z chmury do urządzenia | 1,67 operacji wysyłania na sekundę/jednostkę (100 komunikatów na minutę/jednostkę) | 1,67 operacji wysyłania na sekundę/jednostkę (100 wysyłania na minutę/jednostkę) | 83,33 operacji wysyłania na sekundę/jednostkę (5000 operacji wysyłania na minutę/jednostkę) |
Odbierane z chmury do urządzenia (tylko wtedy, gdy urządzenie korzysta z protokołu HTTPS) |
16,67 operacji odbierania na sekundę/jednostkę (1000 operacji odbierania na minutę/jednostkę) | 16,67 operacji odbierania na sekundę/jednostkę (1000 operacji odbierania na minutę/jednostkę) | 833,33 operacji odbierania na sekundę/jednostkę (50 000 operacji odbierania na minutę/jednostkę) |
Metody bezpośrednie | 160 KB/s/jednostka1 | 480 KB/s/jednostka1 | 24 MB/s/jednostka1 |
Bliźniacze operacje odczytu (urządzenie i moduł) | 100 na sekundę | Wyższa niż 100 na sekundę lub 10 na sekundę/jednostkę | 500 na sekundę/jednostkę |
Aktualizacje bliźniaczej reprezentacji (urządzenie i moduł) | 50 na sekundę | Wyższa niż 50 na sekundę lub 5 na sekundę/jednostkę | 250 na sekundę/jednostkę |
Operacje zadań (tworzenie, aktualizowanie, wyświetlanie, usuwanie) |
1,67 na sekundę/jednostkę (100 na minutę/jednostkę) | 1,67 na sekundę/jednostkę (100 na minutę/jednostkę) | 83,33 na sekundę/jednostkę (5000 na minutę/jednostkę) |
Zadania — operacje urządzenia (aktualizacja bliźniaczej reprezentacji, wywoływanie metody bezpośredniej) |
10 na sekundę | Wyższa niż 10 na sekundę lub 1 na sekundę/jednostkę | 50 na sekundę/jednostkę |
Konfiguracje i wdrożenia brzegowe (tworzenie, aktualizowanie, wyświetlanie, usuwanie) |
0,33 na sekundę/jednostkę (20 na minutę/jednostkę) | 0,33 na sekundę/jednostkę (20 na minutę/jednostkę) | 0,33 na sekundę/jednostkę (20 na minutę/jednostkę) |
Częstotliwość inicjowania strumienia urządzenia | 5 nowych strumieni na sekundę | 5 nowych strumieni na sekundę | 5 nowych strumieni na sekundę |
Maksymalna liczba strumieni urządzeń połączonych współbieżnie | 50 | 50 | 50 |
Maksymalny transfer danych strumienia urządzenia (zagregowany wolumin na dzień) | 300 MB | 300 MB | 300 MB |
1 Rozmiar 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, liczy się on na 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 wysyłasz 200 komunikatów z urządzenia do chmury na sekundę do usługi S1 IoT Hub (która ma limit 100 komunikatów na sekundę). 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. Zwiększone opóźnienie staje się widoczne. W końcu zacznie pojawiać się 429 ThrottlingException
w miarę wypełniania kolejki, a metryka IoT Hub „Liczba błędów ograniczania przepustowości” zacznie 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.
Te same limity ograniczania dotyczą operacji tożsamości wykonywanych za pośrednictwem operacji aktualizacji rejestru zbiorczego (nie zadań importowania zbiorczego i eksportowania). Jeśli na przykład przesyłasz wiele operacji zbiorczych w celu utworzenia 50 urządzeń i masz centrum 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 wiąże się z maksymalną liczbą jednocześnie połączonych urządzeń. Zwiększ liczbę jednostek w centrum IoT, aby zwiększyć szybkość połączeń urządzeń.
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 (do 1000 000).
Inne limity
Usługa IoT Hub wymusza inne limity operacyjne:
Operacja | Limit |
---|---|
Tożsamości urządzeń i modułów | Łą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 (za darmo 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 dla liczby dostaw 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. |
1 Ta 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 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.
Dodanie jednostek usługi IoT Hub wpływa na ograniczanie przepustowości zgodnie z wcześniejszym opisem, ale nie zapewnia dodatkowych korzyści ani gwarancji opóźnień.
Jeśli wystąpi nieoczekiwany wzrost opóźnienia operacji, skontaktuj się z pomoc techniczna firmy Microsoft.