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

QuotaLimitCan be increased

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

RateLimitCan be increased

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

QuotaLimitCan be increased

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