Minimum device to cloud frequency for each iot device to iot hub in S1 tier

siddharth bansal 316 Reputation points
2023-01-06T12:29:08.927+00:00

Multiple devices are sending data from kepware to iot hub with 1 S1 unit , according to reference url below , we can send upto 100 send operations per second , need to know that whether this limit is for each device separately or combined limit of all the devices and also what is the ideal minimum device to cloud frequency for each iot device to iot hub in S1 tier ?

Reference link- https://learn.microsoft.com/en-us/azure/iot-hub/iot-hub-devguide-quotas-throttling

Azure IoT
Azure IoT
A category of Azure services for internet of things devices.
378 questions
Azure IoT Hub
Azure IoT Hub
An Azure service that enables bidirectional communication between internet of things (IoT) devices and applications.
1,115 questions
{count} votes

Accepted answer
  1. LeelaRajeshSayana-MSFT 13,456 Reputation points
    2023-01-06T18:23:10.187+00:00

    Hi @siddharth bansal , Greetings! Thank you for posting the question. I would like to share additional information on the terms Quotas and Throttling. Quota is the aggregate number of messages you can send in your hub per day. cloud-to-device and device-to-cloud throttles determine the maximum rate at which you can send messages -- number of messages irrespective of 4 KB chunks. D2C messages can be up to 256 KB; C2D messages can be up to 64 KB. These are the [maximum message sizes] for each type of message.

    The throttle limits stated in the article you shared are per IoT Hub (includes all devices) and not per device. Please note that even though the messages are throttled at a higher rate, the actual sustained rate at which the IoT Hub can process data is different. Refer the below image for more information.

    User's image

    The rate 100 send operations per second is the throttling limit IoT Hub uses to accommodate burst traffic and is intended to prevent abuse. Once the throttling rate is met, the IoT Hub processes the first few of these requests are 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.

    what is the ideal minimum device to cloud frequency for each iot device to iot hub in S1 tier ?

    It is hard to tell the ideal minimum rate per device at it depends on the total devices you have and the rate at which you are sending messages to IoT Hub. Perhaps you can set a high transfer rate for devices that have a critical business need and accommodate the other devices rate to ensure you do not go over the quota limits. Please refer the resource Choose the right IoT Hub tier for your solution to determine the correct IoT Hub tier for your messaging needs.

    There is also a solution that can be implemented to auto scale your IoT Hub. Please refer the steps shared in the following article to do so - Auto-scale your Azure IoT Hub

    Please let us know if you need any further clarification or have any follow up questions. We would be glad to address them for you.


    • Kindly accept answer or upvote if the response is helpful so that it would benefit other community members facing the same issue.
    • Original posters help the community find answers faster by identifying the correct answer. Here is [how][5]
    • I highly appreciate your contribution to the community
    0 comments No comments

2 additional answers

Sort by: Most helpful
  1. QuantumCache 20,031 Reputation points
    2023-03-10T01:08:42.3933333+00:00

    Hi,

    The limit of 100 send operations per second for Azure IoT Hub S1 tier is the combined limit for all devices sending data to the hub. This means that if you have multiple devices sending data, the combined send operations across all devices should not exceed 100 per second.

    The ideal minimum device-to-cloud frequency for each device depends on your specific use case and data requirements. You should consider factors such as the volume and frequency of data generated by each device, the importance of real-time data processing, and the impact of data latency on your application.

    It's recommended to test and monitor the device-to-cloud frequency for each device in your specific scenario to determine the optimal frequency that meets your data processing needs while staying within the send operation limit of your IoT Hub tier.

    1 person found this answer helpful.
    0 comments No comments

  2. AshokPeddakotla-MSFT 27,386 Reputation points
    2023-03-10T10:46:07.57+00:00

    Hello siddarth,

    need to know that whether this limit is for each device separately or combined limit of all the devices and also what is the ideal minimum device to cloud frequency for each iot device to iot hub in S1 tier ?

    Satish is right regarding the 100 send operations limit. The limit of 100 send operations per second is the higher of 100 send operations per second or 12 send operations per second per unit. So, if you have one S1 unit, you have a minimum of 100 send operations per second across your units.

    It is also important to note that the S1 tier has a data ingress limit of 400,000 messages per day, which means that the total number of messages sent by all devices to the IoT Hub should not exceed this limit. If the number of devices or the amount of data being sent exceeds this limit, it may be necessary to upgrade to a higher tier of IoT Hub.

    Regarding the ideal minimum device to cloud frequency for each IoT device to IoT hub in the S1 tier, it depends on various factors, such as the amount of data being sent, the network latency, and the capabilities of the device itself.

    Also recommended to use an exponential backoff algorithm to manage the device-to-cloud message frequency. This algorithm increases the time interval between consecutive message sends if a previous message failed to send. The recommended initial time interval is one minute, which can be increased exponentially up to a maximum interval of 30 minutes. This approach helps to prevent overloading the IoT hub and ensures reliable message delivery.

    You can also use Azure IoT Hub metrics and diagnostics logs to monitor the performance and adjust the frequency accordingly. See use metrics and logs with an IoT hub for more details.

    Hope this helps.

    1 person found this answer helpful.
    0 comments No comments