Kvoter och begränsningar för IoT-hubb
I den här artikeln beskrivs de gränser som gäller för IoT Hub-resurser.
Varje Azure-prenumeration kan ha högst 50 IoT-hubbar och högst 1 hubb på den kostnadsfria nivån.
Varje IoT-hubb etableras med enheter på en specifik nivå. Nivån och antalet enheter avgör den maximala dagliga kvoten för meddelanden. Meddelandestorleken som används för att beräkna den dagliga kvoten är 0,5 KB för en kostnadsfri nivåhubb och 4 KB för alla andra nivåer. Mer information finns i Prissättning för Azure IoT Hub eller Välj rätt IoT Hub-nivå för din lösning.
Du hittar hubbens kvotgräns i Azure-portalen. På sidan Översikt för din IoT-hubb visas kvoten för dagligt meddelande. Du kan också visa och justera den här gränsen i Hubbinställningar>Prissättning och skala.
Nivån avgör också de begränsningsgränser som IoT Hub tillämpar på alla åtgärder.
Åtgärdsbegränsningar
Åtgärdsbegränsningar är hastighetsbegränsningar som tillämpas i minutintervall och är avsedda att förhindra missbruk. De är också föremål för trafikformning.
Det är en bra idé att begränsa dina anrop så att du inte når/överskrider begränsningsgränserna. Om du når gränsen svarar IoT Hub med felkoden 429 och klienten bör backa och försöka igen. Dessa gränser är per hubb (eller i vissa fall per hubb per enhet). Mer information finns i Återförsöksmönster.
Information om vilka åtgärder som debiteras och under vilka omständigheter finns i faktureringsinformation.
Grundläggande och standardnivååtgärder
I följande tabell visas de framtvingade begränsningarna för åtgärder som är tillgängliga på alla IoT-hubbnivåer. Värden refererar till en enskild hubb.
Begränsning | Kostnadsfritt, B1 och S1 | B2 och S2 | B3 och S3 |
---|---|---|---|
Identitetsregisteråtgärder (skapa, hämta, lista, uppdatera, ta bort) | 1,67/sekund/enhet (100/min/enhet) | 1,67/sekund/enhet (100/min/enhet) | 83,33/sekund/enhet (5 000/min/enhet) |
Nya enhetsanslutningar (den här gränsen gäller för antalet nya anslutningar, inte det totala antalet anslutningar) | Högre än 100/sek eller 12/sek/enhet Två S1-enheter är till exempel 2*12 = 24 nya anslutningar per sekund, men du har minst 100 nya anslutningar per sekund i dina enheter. Med nio S1-enheter har du 108 nya anslutningar per sekund (9*12) i dina enheter. |
120 nya anslutningar per sekund/enhet | 6 000 nya anslutningar per sekund/enhet |
Sändningar enhet-till-moln | Högre än 100 sändningsåtgärder per sekund eller 12 sändningsåtgärder per sekund/enhet Två S1-enheter är till exempel 2*12 = 24/s, men du har minst 100 skicka åtgärder per sekund över dina enheter. Med nio S1-enheter har du 108 sändningsåtgärder per sekund (9*12) över dina enheter. |
120 sändningsåtgärder/sekund/enhet | 6 000 sändningsåtgärder/sekund/enhet |
Filuppladdning | 1,67 initieringar av filuppladdning/sekund/enhet (100/min/enhet) | 1,67 initieringar av filuppladdning/sekund/enhet (100/min/enhet) | 83,33 initieringar av filuppladdning/sekund/enhet (5 000/min/enhet) |
Frågor | 20/min/enhet | 20/min/enhet | 1 000/min/enhet |
Standardnivååtgärder
Följande tabell visar de framtvingade begränsningarna för åtgärder som endast är tillgängliga i standardnivåer. Värden refererar till en enskild hubb.
Begränsning | Kostnadsfritt och S1 | S2 | S3 |
---|---|---|---|
Sändningar moln-till-enhet | 1,67 sändningsåtgärder/sekund/enhet (100 meddelanden/min/enhet) | 1,67 sändningsåtgärder/sekund/enhet (100 sändningsåtgärder/min/enhet) | 83,33 sändningsåtgärder/sekund/enhet (5 000 sändningsåtgärder/min/enhet) |
Moln-till-enhet-mottagningar (endast när enheten använder HTTPS) |
16,67 mottagningsåtgärder/sekund/enhet (1 000 mottagningsåtgärder/min/enhet) | 16,67 mottagningsåtgärder/sekund/enhet (1 000 mottagningsåtgärder/min/enhet) | 833,33 mottagningsåtgärder/sekund/enhet (50 000 mottagningsåtgärder/min/enhet) |
Direkta metoder | 160 KB/s/enhet1 | 480 KB/sek/enhet1 | 24 MB/s/enhet1 |
Tvillingläsningar (enhet och modul) | 100/sekund | Högre än 100/sekund eller 10/sekund/enhet | 500/sekund/enhet |
Tvillinguppdateringar (enhet och modul) | 50/sekund | Högre än 50/sekund eller 5/sekund/enhet | 250/sekund/enhet |
Jobbåtgärder (skapa, uppdatera, visa, ta bort) |
1,67/sekund/enhet (100/min/enhet) | 1,67/sekund/enhet (100/min/enhet) | 83,33/sekund/enhet (5 000/min/enhet) |
Jobbenhetsåtgärder (uppdatera tvilling, anropa direktmetod) |
10/sek | Högre än 10/sekund eller 1/sekund/enhet | 50/sekund/enhet |
Konfigurationer och gränsdistributioner (skapa, uppdatera, visa, ta bort) |
0,33/sekund/enhet (20/min/enhet) | 0,33/sekund/enhet (20/min/enhet) | 0,33/sekund/enhet (20/min/enhet) |
Initieringshastighet för enhetsström | 5 nya strömmar per sekund | 5 nya strömmar per sekund | 5 nya strömmar per sekund |
Maximalt antal samtidiga anslutna enhetsströmmar | 50 | 50 | 50 |
Maximal dataöverföring av enhetsström (aggregerad volym per dag) | 300 MB | 300 MB | 300 MB |
1 Begränsningsmätare storlek är 4 KB. Begränsning baseras endast på begärandenyttolaststorlek.
Begränsningsinformation
Mätarstorleken avgör vid vilka ökningar begränsningsgränsen förbrukas. Om ditt direktsamtals nyttolast är mellan 0 KB och 4 KB räknas den som 4 KB. Du kan göra upp till 40 anrop per sekund per enhet innan du når gränsen på 160 KB/sek/enhet.
På samma sätt, om nyttolasten är mellan 4 KB och 8 KB, står varje samtal för 8 KB och du kan göra upp till 20 anrop per sekund per enhet innan du når maxgränsen.
Om din nyttolaststorlek är mellan 156 KB och 160 KB kan du bara göra ett anrop per sekund per enhet i hubben innan du når gränsen på 160 KB/sek/enhet.
För jobbenhetsåtgärder (uppdateringstvilling, anropa direktmetod) för nivå S3 gäller 50/sek/enhet endast när du anropar metoder med jobb. Om du anropar direktmetoder gäller den ursprungliga begränsningsgränsen på 24 MB/s/enhet (för S3).
Dina moln-till-enhet- och enhets-till-moln-begränsningar avgör den maximala hastighet med vilken du kan skicka meddelanden oavsett 4 KB-segment. Meddelanden från enhet till moln kan vara upp till 256 kB. moln-till-enhet-meddelanden kan vara upp till 64 KB. Det här är de maximala meddelandestorlekarna för varje typ av meddelande.
Trafikbearbetning
För att hantera burst-trafik accepterar IoT Hub begäranden över begränsningen under en begränsad tid. De första av dessa begäranden bearbetas omedelbart. Men om antalet begäranden fortsätter att bryta mot begränsningen börjar IoT Hub placera begäranden i en kö och begäranden bearbetas med gränsfrekvensen. Den här effekten kallas trafikformning. Dessutom är storleken på den här kön begränsad. Om begränsningsöverträdelsen fortsätter fylls kön till slut och IoT Hub börjar avvisa begäranden med 429 ThrottlingException
.
Du kan till exempel skicka 200 enhets-till-moln-meddelanden per sekund till din S1 IoT Hub (som har en gräns på 100 meddelanden per sekund). Under den första en-två minuterna bearbetas meddelandena omedelbart. Men eftersom enheten fortsätter att skicka fler meddelanden som överskrider begränsningsgränsen börjar IoT-hubben endast bearbeta 100 meddelanden per sekund och placerar resten i en kö. Du börjar märka en ökad svarstid. Så småningom börjar du få 429 ThrottlingException
när kön fylls och IoT-hubbmåttet ”Antal begränsningsfel” börjar öka. För att lära dig hur du skapar aviseringar och diagram baserat på mått, se Övervaka IoT-hubb.
Begränsning av identitetsregisteråtgärder
Enhetsidentitetsregisteråtgärder är avsedda för körning i scenarier för enhetshantering och etablering. Läsning eller uppdatering av ett stort antal enhetsidentiteter stöds via import- och exportjobb.
Samma begränsningsgränser gäller för identitetsåtgärder som görs via massregistreringsuppdateringsåtgärder (inte massimport- och exportjobb). Om du till exempel skickar flera massåtgärder för att skapa 50 enheter var och du har en S1 IoT Hub med en enhet, godkänns endast två av dessa massbegäranden per minut. Den här begränsningen beror på att identitetsåtgärdens begränsning för en S1 IoT Hub med en enhet är 100/min/enhet. I det här fallet avvisas även en tredje begäran (och senare) på samma minut eftersom gränsen har nåtts.
Begränsning av enhetsanslutningar
Begränsningen för enhetsanslutningar styr den hastighet med vilken nya enhetsanslutningar kan upprättas med en IoT-hubb. Begränsningen för enhetsanslutningar gäller inte det maximala antalet samtidigt anslutna enheter. Skapa antalet enheter i en IoT-hubb för att öka enhetens anslutningshastighet.
Om du till exempel köper en enda S1-enhet får du en begränsning på 100 anslutningar per sekund. För att ansluta 100 000 enheter tar det därför minst 1 000 sekunder (cirka 16 minuter). Du kan dock ha så många samtidigt anslutna enheter som du har enheter registrerade i ditt identitetsregister (upp till 1 000 000).
Andra gränser
IoT Hub tillämpar andra driftsgränser:
Åtgärd | Gräns |
---|---|
Enhets- och modulidentiteter | Det totala antalet enheter plus moduler som kan registreras till en enda IoT-hubb är begränsat till 1 000 000. |
Filuppladdningar | 10 samtidiga filuppladdningar per enhet. |
Jobb1 | Maximalt antal samtidiga jobb är 1 (kostnadsfritt och S1), 5 (för S2) och 10 (för S3). De maximala samtidiga enhetsimport-/exportjobben är dock 1 för alla nivåer. Jobbhistoriken behålls i upp till 30 dagar. |
Ytterligare slutpunkter | Grundläggande SKU-hubbar och standard-SKU-hubbar kan ha ytterligare 10 slutpunkter. Kostnadsfria SKU-hubbar kan ha ytterligare en slutpunkt. |
Frågor om meddelanderoutning | Grundläggande och standard-SKU-hubbar kan ha 100 routningsfrågor. Kostnadsfria SKU-hubbar kan ha fem routningsfrågor. |
Meddelandeberikanden | Grundläggande SKU-hubbar och standard-SKU-hubbar kan ha upp till 10 meddelandeberikningar. Kostnadsfria SKU-hubbar kan ha upp till två meddelandeberikningar. |
Meddelanden för enhet till moln | Maximal meddelandestorlek 256 KB |
Meddelandenfrån moln till enhet 1 | Maximal meddelandestorlek 64 KB. Maximalt antal väntande meddelanden för leverans är 50 per enhet. |
Direktmetod1 | Högsta nyttolaststorlek för direktmetod är 128 KB för begäran och 128 KB för svaret. |
Automatiska enhets- och modulkonfigurationer1 | 100 konfigurationer per grundläggande eller standard-SKU-hubb. 10 konfigurationer per kostnadsfri SKU-hubb. |
Automatiska IoT Edge-distributioner1 | 50 moduler per distribution. 100 distributioner (inklusive distributioner i lager) per grundläggande eller standard-SKU-hubb. 10 distributioner per kostnadsfri SKU-hubb. |
Tvillingar1 | Maximal storlek på önskade egenskaper och rapporterade egenskapsavsnitt är 32 KB vardera. Maximal storlek för avsnittet taggar är 8 KB. Maximal storlek för varje enskild egenskap i varje avsnitt är 4 KB. |
Principer för delad åtkomst | Maximalt antal principer för delad åtkomst är 16. Inom den gränsen är det maximala antalet principer för delad åtkomst som beviljar åtkomst till tjänstanslutning 10. |
Begränsa utgående nätverksåtkomst | Maximalt antal tillåtna FQDN:er är 20. |
x509 CA-certifikat | Maximalt antal x509 CA-certifikat som kan registreras på IoT Hub är 25. |
1 Den här funktionen är inte tillgänglig på den grundläggande nivån för IoT Hub. Mer information finns i Så här väljer du rätt IoT Hub.
Öka kvoten eller begränsningsgränsen
När som helst kan du öka kvoter eller begränsningsgränser genom att öka antalet etablerade enheter i en IoT-hubb.
Svarstid
IoT Hub strävar efter att ge låg svarstid för alla åtgärder. Men på grund av nätverksförhållanden och andra oförutsägbara faktorer kan det inte garantera en viss svarstid. När du utformar din lösning bör du:
- Undvik att göra antaganden om den maximala svarstiden för alla IoT Hub-åtgärder.
- Etablera din IoT-hubb i den Azure-region som är närmast dina enheter.
- Överväg att använda Azure IoT Edge för att utföra svarstidskänsliga åtgärder på enheten eller på en gateway nära enheten.
Att lägga till IoT Hub-enheter påverkar begränsningen enligt beskrivningen tidigare, men ger inga ytterligare svarstidsfördelar eller garantier.
Kontakta Microsoft Support om du ser oväntade ökningar av åtgärdsfördröjningen.