Sync Limits
In order to guarantee good quality of service across for all your customers across all your apps, Sync applies rate limits to the actions (reads and writes) taken by your code in the running app. Note that state fanout—the delivery of realtime updates to your app when it is subscribed to a Sync object—is neither a read action nor a write action, and therefore we do not limit the rate of delivery to subscribers.
The following tables summarize the various rate limits that apply.
Connection Limits
Limited Quantity | Prescribed Limit |
Number of Standing Connections |
up to 7,000 and 100,000 overall, shared among all your subaccounts. |
Rate of Connection Establishment (new or re-established) |
up to 110/s and 1,000/s overall, shared among all your subaccounts. |
Rate of |
up to 500/s and up to 20,000/s
|
Sync Activity Limits
Limited Quantity | Prescribed Limit | Notes |
Rate of Object Writes |
up to 20/s per object burst window: 10s |
|
Rate of Object Reads |
up to 20/s per object burst window: 10s |
|
Rate of Stream Messages |
up to 30/s per stream burst window: 10s |
|
Rate of Object Permission Reads and Writes |
up to 80/s per object permission burst window: 10s |
|
Rate of Live Queries |
up to 200/s per index per service instance up to 20/s per index per client identity burst window: 10s |
|
Number of Sync Objects |
Unlimited |
|
Sync Payload Limits
Limited Quantity | Prescribed Limit | Notes |
Size of Document payload | 16 KiB | Sync Documents may contain payloads up to 16 KiB of valid JSON serialized to a UTF-8 string. |
Size of List Item payload | 16 KiB | Sync Lists may contain Items with payloads up to 16 KiB of valid JSON serialized to a UTF-8 string. |
Number of Items in the List | 1,000,000 | Sync Lists should not contain more than a million of items. |
Size of Map Item payload | 16 KiB |
Sync Maps may contain Items with payloads up to 16 KiB of valid JSON serialized to a UTF-8 string. NB! Due to some accidents of serialization and deserialization, which we do in the process of ensuring valid JSON payloads, the actual data written may be of subtly different size than it is upon transmission. In these cases, you may find payloads being rejected "too large" as they approach the 16KB limit. If your application stores large payloads, please do test at the extremes. |
Number of Items in the Map | 1,000,000 | Sync Maps should not contain more than a million of items. |
Size of Stream Message | 4 KiB | Sync Message Streams may deliver payloads up to 4 KiB of valid JSON serialized to a UTF-8 string. |
Length of Unique Name | 320 characters | Unique names assigned to Documents, Lists, Maps, Message Streams may contain up to 320 characters (UTF-8). |
Length of Identity | 256 characters | Client identity may contain up to 256 characters (UTF-8). |
Default Page Size | 50 |
By default, this will return the first 50 items. Specify a Default sorting order is ascending of ListItems per itemIndex and Map Items per item Key. |
TTL limits | An integer from 0 to 31,536,000 (one year) |
The default value is 0, which means the Sync object does not expire. The Sync object will be deleted automatically after it expires, but there can be a delay between the expiration time and the resources's deletion. |
Sync Insights Client Limits
(Currently for Flex customers only)
Limited Quantity | Prescribed Limit | Notes |
Number of active LiveQueries per SDK client | 2000 | The number of active Sync LiveQueries initiated and tracked by a single SDK client instance must not exceed 2000. |
Number of items returned by LiveQuery / InstantQuery | 200 | Max number of items included into the LiveQuery / InstantQuery search result. For the LiveQuery the returned result set can subsequently receive updates whenever new (or updated) records would match the given expression therefore the number of items can grow beyond the limit until this query is explicitly closed. |
Number of operators in query expression | 30 | Query expression may contain any combination of the following operators: and , or , in , eq , not_in , not_eq , contains , however overall number of operators in query expression must be less than 30. |
Array size in query expression | 30 |
Any array within query expression must contain less than 30 elements. |
Need some help?
We all do sometimes; code is hard. Get help now from our support team, or lean on the wisdom of the crowd by visiting Twilio's Stack Overflow Collective or browsing the Twilio tag on Stack Overflow.