Quotas & Limits
NOTE
To be Updated!
OmniCore limits resource allocation and use and enforces appropriate quotas on a per-tenant basis. Specific policies vary depending on resource availability, user profile, service usage history, and other factors, and are subject to change without notice.
Limits
This section lists the quotas for OmniCore in three categories: tenant/device/telemetry, rate, and time.
Tenant, device, and telemetry limits
Devices per tenant, per region
Unlimited, but the default is 100,000
Yes
Device registries per project, per region
100
Yes
Devices bound to a gateway
10,000
Yes
Devices attached to a gateway
10,000
Yes
Gateways bound to a device
10
No
Device ID length
256 bytes
No
Device registry ID length
256 bytes
No
Combined size of metadata key-value pairs
256 KB
No
Credentials per device
3
No
Configuration versions per device
10
No
Device configuration data
64 KB
No
Maximum page size for list request
500
No
Device state payload
64 KB
No
Telemetry event notification configurations
10
No
Telemetry event payload
256 KB
No
MQTT connections per device
1
No
Open MQTT connections, per project per region
10,000
Yes
Active HTTP device connections (within the past 5 minutes), per project per region
10,000
Yes
Rate limits
For all Cloud to Device Communication the following Limits apply
Rate Limit: 100 per sec
Burst Limit: 100 per sec
Quota: 10,000 per day
These include
Cloud-to-device throughput, per device
Configuration updates per device
Attribute updates per device
Attribute updates per registry
Device manager API read calls per tenant
Device manager API create and delete calls per tenant
Device manager API update calls per tenant(see the exception in the next row)
Device manager API modifyCloudToDeviceConfig calls per tenant
State updates per device
State updates per tenant
Commands per registry
Commands per tenant
For all Cloud to Device Communication the following Limits apply
HTTP device telemetry publishes per device
6,00 per min
No
Device telemetry publishes per tenant
Unlimited, but the default is 60,000 per min
Yes
Device-to-cloud throughput, per device
512 KB/s
No
MQTT incoming messages per sec, per connection
100 per sec
No
Device MQTT connections per device
1 per sec
No
Device MQTT connections and HTTP requests per tenant
60,000 per min
Yes
State updates per device
1 per sec*
No
State updates per tenant
6,000 per min*
Yes
Number of logged events per tenant
1,000 per sec
Yes
Size of logged events per tenant
1 MB per sec (each log entry is roughly 1 KB)
Yes
Commands per registry
1,000 per sec
Yes
Commands per tenant
1,000 per sec
Yes
MQTT subscriptions to the commands topic per device connection
1 per sec
No
Time limits
JWT authorization clock skew
10 min
No
JWT lifetime (exp minus iat cannot exceed the limit)
24 hr
No
MQTT idle time (without heartbeat or message)
20 min
No
MQTT connection time
24 hr**
No
Command timeout
60 sec
No
Command retries
60 sec
No
**Connections may be reset occasionally (for example, for a server restart).
Quota enforcement
The consequences of exceeding quota are different for tenants and resources, such as a registries and devices:
tenant exceeds quota: tenant is blocked until usage is back under the limit. In rare cases, a quota enforcement period can continue even when your usage is no longer over the limit. If your tenant is still being blocked even though you're no longer exceeding any quotas, wait a while and try again.
Device using the MQTT bridge exceeds quota: Device is disconnected.
Device using the HTTP bridge exceeds quota: Device receives a RESOURCE_EXHAUSTED response.
For example, if you attempt to update a device's configuration more than once per second over the MQTT bridge, OmniCore disconnects the device. To fix the problem, ensure you publish device configurations no more than once per second, ideally once per 10 seconds, then reconnect the device. See Configuring Devices for more information.
Quota increases
Contact us
Compressed HTTP requests
As noted in Using the HTTP Bridge, a device can send gzip-compressed data to OmniCore over the HTTP bridge.
Limits for telemetry event payloads and device state payloads are calculated using the uncompressed size of each request.
For example, if a device sends a compressed telemetry event payload that is 10 KB, but the original payload before compression was 257 KB, the request fails because 257 KB exceeds the telemetry event payload limit of 256 KB.
Last updated