You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
This article explains the quotas for an IoT hub, and provides information to help you understand how throttling works.
16
+
This article explains the limits that apply to IoT Hub resources.
16
17
17
-
Each Azure subscription can have at most 50 IoT hubs, and at most 1 Free hub.
18
+
Each Azure subscription can have at most 50 IoT hubs, and at most 1 hub in the free tier.
18
19
19
-
Each IoT hub is provisioned with units in a specific tier. The tier and number of units determine the maximum daily quota of messages that you can send in your hub per day. The message size used to calculate the daily quota is 0.5 KB for a free tier hub and 4KB for all other tiers. For more information, see [Azure IoT Hub pricing](https://azure.microsoft.com/pricing/details/iot-hub/) or [Choose the right IoT Hub tier for your solution].
20
+
Each IoT hub is provisioned with units in a specific tier. The tier and number of units determine the maximum daily quota of messages. The message size used to calculate the daily quota is 0.5 KB for a free tier hub and 4KB for all other tiers. For more information, see [Azure IoT Hub pricing](https://azure.microsoft.com/pricing/details/iot-hub/) or [Choose the right IoT Hub tier for your solution](./iot-hub-scaling.md).
20
21
21
-
You can find your hub's quota limit under the column **Total number of messages /day** on the [IoT Hub pricing page](https://azure.microsoft.com/pricing/details/iot-hub/)in the Azure portal.
22
+
You can find your hub's quota limit in the Azure portal. Your IoT hub's **Overview** page lists the **Daily message quota**. You can also view and adjust this limit in **Hub settings** > **Pricing and scale**.
22
23
23
24
The tier also determines the throttling limits that IoT Hub enforces on all operations.
24
25
25
26
## Operation throttles
26
27
27
28
Operation throttles are rate limitations that are applied in minute ranges and are intended to prevent abuse. They're also subject to [traffic shaping](#traffic-shaping).
28
29
29
-
It's a good practice to throttle your calls so that you don't hit/exceed the throttling limits. If you do hit the limit, IoT Hub responds with error code 429 and the client should back-off and retry. These limits are per hub (or in some cases per hub/unit). For more information, see [Retry patterns](../iot/concepts-manage-device-reconnections.md#retry-patterns).
30
+
It's a good practice to throttle your calls so that you don't hit/exceed the throttling limits. If you do hit the limit, IoT Hub responds with error code 429 and the client should back-off and retry. These limits are per hub (or in some cases per hub per unit). For more information, see [Retry patterns](../iot/concepts-manage-device-reconnections.md#retry-patterns).
30
31
31
32
For pricing details about which operations are charged and under what circumstances, see [billing information](iot-hub-devguide-pricing.md).
32
33
@@ -78,29 +79,29 @@ The following table shows the enforced throttles for operations that are availab
78
79
79
80
To accommodate burst traffic, IoT Hub accepts requests above the throttle for a limited time. The first few of these requests are processed immediately. However, if the number of requests continues to violate the throttle, IoT Hub starts placing the requests in a queue and requests are processed at the limit rate. This effect is called *traffic shaping*. Furthermore, the size of this queue is limited. If the throttle violation continues, eventually the queue fills up, and IoT Hub starts rejecting requests with `429 ThrottlingException`.
80
81
81
-
For example, you use a simulated device to send 200 device-to-cloud messages per second to your S1 IoT Hub (which has a limit of 100/sec device-to-cloud sends). For the first minute or two, the messages are processed immediately. However, since the device continues to send more messages than the throttle limit, IoT Hub begins to only process 100 messages per second and puts the rest in a queue. You start noticing increased latency. Eventually, you start getting `429 ThrottlingException` as the queue fills up, and the ["Number of throttling errors" IoT Hub metric](monitor-iot-hub-reference.md#device-telemetry-metrics) starts increasing. To learn how to create alerts and charts based on metrics, see [Monitor IoT Hub](monitor-iot-hub.md).
82
+
For example, you send 200 device-to-cloud messages per second to your S1 IoT Hub (which has a limit of 100 messages/sec). For the first minute or two, the messages are processed immediately. However, since the device continues to send more messages than the throttle limit, IoT Hub begins to only process 100 messages per second and puts the rest in a queue. You start noticing increased latency. Eventually, you start getting `429 ThrottlingException` as the queue fills up, and the ["Number of throttling errors" IoT Hub metric](monitor-iot-hub-reference.md#device-telemetry-metrics) starts increasing. To learn how to create alerts and charts based on metrics, see [Monitor IoT Hub](monitor-iot-hub.md).
82
83
83
84
### Identity registry operations throttle
84
85
85
86
Device identity registry operations are intended for run-time use in device management and provisioning scenarios. Reading or updating a large number of device identities is supported through [import and export jobs](iot-hub-devguide-identity-registry.md#import-and-export-device-identities).
86
87
87
-
When initiating identity operations through [bulk registry update operations](/rest/api/iothub/service/bulkregistry/updateregistry) (*not* bulk import and export jobs), the same throttle limits apply. For example, if you want to submit bulk operation to create 50 devices, and you have a S1 IoT Hub with one unit, only two of these bulk requests are accepted per minute. This limitation is because the identity operation throttle for an S1 IoT Hub with one unit is 100/min/unit. Also in this case, a third request (and beyond) in the same minute would be rejected because the limit has been reached.
88
+
When initiating identity operations through [bulk registry update operations](/rest/api/iothub/service/bulkregistry/updateregistry) (*not* bulk import and export jobs), the same throttle limits apply. For example, if you submit multiple bulk operations to create 50 devices each, and you have an S1 IoT Hub with one unit, only two of these bulk requests are accepted per minute. This limitation is because the identity operation throttle for an S1 IoT Hub with one unit is 100/min/unit. Also in this case, a third request (and beyond) in the same minute would be rejected because the limit has been reached.
88
89
89
90
### Device connections throttle
90
91
91
-
The *device connections* throttle governs the rate at which new device connections can be established with an IoT hub. The *device connections* throttle doesn't govern the maximum number of simultaneously connected devices. The *device connections* rate throttle depends on the number of units that are provisioned for the IoT hub.
92
+
The *device connections* throttle governs the rate at which new device connections can be established with an IoT hub. The *device connections* throttle doesn't relate to the maximum number of simultaneously connected devices. Increate the number of units in an IoT hub to increase the *device connections* rate.
92
93
93
-
For example, if you buy a single S1 unit, you get a throttle of 100 connections per second. Therefore, to connect 100,000 devices, it takes at least 1,000 seconds (approximately 16 minutes). However, you can have as many simultaneously connected devices as you have devices registered in your identity registry.
94
+
For example, if you buy a single S1 unit, you get a throttle of 100 connections/second. Therefore, to connect 100,000 devices, it takes at least 1,000 seconds (approximately 16 minutes). However, you can have as many simultaneously connected devices as you have devices registered in your identity registry (up to 1,000,000).
94
95
95
96
## Other limits
96
97
97
98
IoT Hub enforces other operational limits:
98
99
99
100
| Operation | Limit |
100
101
| --------- | ----- |
101
-
|Devices| The total number of devices plus modules that can be registered to a single IoT hub is capped at 1,000,000. |
102
+
|Device and module identities| The total number of devices plus modules that can be registered to a single IoT hub is capped at 1,000,000. |
| Jobs<sup>1</sup> | Maximum concurrent jobs are 1 (for Free and S1), 5 (for S2), and 10 (for S3). However, the max concurrent [device import/export jobs](iot-hub-bulk-identity-mgmt.md) is 1 for all tiers. <br/>Job history is retained up to 30 days. |
104
+
| Jobs<sup>1</sup> | Maximum concurrent jobs are 1 (for free and S1), 5 (for S2), and 10 (for S3). However, the max concurrent [device import/export jobs](iot-hub-bulk-identity-mgmt.md) is 1 for all tiers. <br/>Job history is retained up to 30 days. |
104
105
| Additional endpoints | Basic and standard SKU hubs may have 10 additional endpoints. Free SKU hubs may have one additional endpoint. |
105
106
| Message routing queries | Basic and standard SKU hubs may have 100 routing queries. Free SKU hubs may have five routing queries. |
106
107
| Message enrichments | Basic and standard SKU hubs can have up to 10 message enrichments. Free SKU hubs can have up to two message enrichments.|
@@ -116,22 +117,18 @@ IoT Hub enforces other operational limits:
116
117
117
118
<sup>1</sup>This feature isn't available in the basic tier of IoT Hub. For more information, see [How to choose the right IoT Hub](iot-hub-scaling.md).
118
119
119
-
## Increasing the quota or throttle limit
120
+
## Increase the quota or throttle limit
120
121
121
122
At any given time, you can increase quotas or throttle limits by [increasing the number of provisioned units in an IoT hub](iot-hub-upgrade.md).
122
123
123
124
## Latency
124
125
125
126
IoT Hub strives to provide low latency for all operations. However, due to network conditions and other unpredictable factors it can't guarantee a certain latency. When designing your solution, you should:
126
127
127
-
* Avoid making any assumptions about the maximum latency of any IoT Hub operation.
128
+
* Avoid making assumptions about the maximum latency of any IoT Hub operation.
128
129
* Provision your IoT hub in the Azure region closest to your devices.
129
-
* Consider using Azure IoT Edge to perform latency-sensitive operations on the device or on a gateway close to the device.
130
+
* Consider using [Azure IoT Edge](../iot-edge/about-iot-edge.md) to perform latency-sensitive operations on the device or on a gateway close to the device.
130
131
131
-
Multiple IoT Hub units affect throttling as described previously, but don't provide any additional latency benefits or guarantees.
132
+
Adding IoT Hub units affects throttling as described previously, but doesn't provide additional latency benefits or guarantees.
132
133
133
134
If you see unexpected increases in operation latency, contact [Microsoft Support](https://azure.microsoft.com/support/options/).
134
-
135
-
## Next steps
136
-
137
-
For an in-depth discussion of IoT Hub throttling behavior, see the blog post [IoT Hub throttling and you](https://azure.microsoft.com/blog/iot-hub-throttling-and-you/).
0 commit comments