Platform Limitations

Usage of the shiftr.io platform is limited in various ways to ensure that the available resources are shared evenly among all users. The following limitations apply to all shiftr.io accounts and/or namespaces.

Dynamic Rate Limit

25 operations per second

The dynamic rate limit applies to all connections and requests that use private tokens that are associated with namespaces from the same account. Connections and requests that use public tokens are grouped in virtual accounts that are tied to the clients external IP address. Connections that violate the rate limit will be closed immediately.

Every account has a bucket of tokens that is filled at a rate of 25 tokens per second up to limit of 1500 tokens (one minute). This allows clients to burst over the limit of 25 operations per second and instantly use all tokens if needed.

For the dynamic rate limit we only count the Connect, Publish, Subscribe and Unsubscribe MQTT packets and GET and POST HTTP requests as operations against the rate limit.

Static Rate Limit

100 operations per second

The static rate limit applies to all MQTT connections and will close the connection immediately if the connection goes over the threshold of 100 operations per second.

For the static rate limit, we count every MQTT packet including (Ping) as operations against the rate limit.

Connection Limit

100 connections

Every namespace has a limit of 100 simultaneous connections. New connections above the limit are closed immediately. Except if the “Unique Client ID’s” setting is used, the broker will first try to close existing connections with the same client id.

Retention

1500 events, 500 retained messages, 500 sessions

We store up to 1500 events, 500 retained messages and 500 sessions per namespace. The broker actively removes old events, retained messages and sessions to honor the limit.