What are Throttles?
Throttles, in Digi Remote Manager®, are defined as either system wide or rate plan throttles.
Throttles generally protect Digi Remote Manager from “rogue” devices or applications using system resources in a way that denies services to others.
Throttling generally occurs when a device or application is “over-using” its Digi Remote Manager access, where the allowed usage metrics are determined by subscription level.
Developer Edition accounts have the strictest throttling, while different levels of subscribed DRM accounts have varying throttle levels which are relaxed by comparison.
Throttles are calculated on a sliding scale (transactions per minute) and maintain a queue in order to provide bursting capabilities. An example is a sliding window of x transactions per y time interval (12 transactions per hour). Also, throttles may limit the number of concurrent requests, example is concurrent web service requests.
There is a sliding 10 second window for requests (so, for instance, at a limit of 180 per minute, you can send at most 30 in a ten second window before you hit that limit).
Device Data Service Throttler
Device data uploads are limited to 60 per minute. An example is a device uploading data into data streams (note that multiple data points can be sent in a single upload). One concurrent transaction is the maximum allowed since the data service can only process one request at a time. If exceeded a server error status is returned to the device, the device either has to slow down or retry.
This throttle can be controlled by a subscription to Device Throttling. The Developer throttle is set to 12 transactions per minute. Basic Edition and Enterprise accounts have the values set to 60 transactions per minute.
Web Services Throttler
The Web Services throttler limits the number of web service API calls allowed by a customer. This is controlled by the subscription to Web Service messaging. An example is for Developer Edition accounts the values are set to 60 transactions per minute and 3 concurrent transactions.
When a throttle rate is exceeded the request results in an HTTP response status code of 429
Again, for the Developer Edition, the web service throttles are based on 60 transactions per minute with a concurrency of 3. The Basic Edition, is 120 transactions/minute with a concurrency of 4. Enterprise edition is double that at 240/minute, concurrency of 4.
A System Throttles alarm event will be fired if devices are sending data too fast, if too many devices under an account are sending data, if too much data is being sent by a customer, or if they're hammering the DRM Platform with too many requests
Sep 08, 2020