diff --git a/content/general/limits.textile b/content/general/limits.textile index 67806b322e..53ff28dded 100644 --- a/content/general/limits.textile +++ b/content/general/limits.textile @@ -19,9 +19,11 @@ jump_to: - Control API limits#control-api --- -Limits are applied to all accounts in order to prevent any impact on service caused by deliberate or accidental abuse. Limits vary depending on the "package":https://ably.com/pricing associated with your account and upgrading to a package with additional message, connection or channel allowance increases any related limits. Enterprise package limits are customizable. +Certain limits are applied in order to prevent any impact on service caused by accidental or deliberate abuse. Limits vary depending on the "package":https://ably.com/pricing associated with your account. You can view the limits for your package in the "account dashboard":https://ably.com/accounts/any/package_limits. -You can view the limits for your package in the "account dashboard":https://ably.com/accounts/any/package_limits or use the "calculator":https://ably.com/pricing/full-calculator to see how limits change based on connection, channel and message quotas. +PAYG accounts have high default limits, but far higher limits can be set if needed. All Committed Use package limits are customizable. + +"Contact us":http://ably.com/support if your application requires limits beyond what's currently set for your package. h2(#overview). Overview @@ -46,11 +48,11 @@ Instantaneous rate limits relate to the frequency of a given operation at a mome h4(#local-rates). Local instantaneous rate limits -Local instantaneous rate limits reject operations in excess of their hard limit and return an error code. For example, the limit on a self-service package for the message publish rate on an individual channel is 50 messages per second. Any message publish attempts in excess of the 50 messages per second will be rejected and an error code will be returned to the publisher. +Local instantaneous rate limits reject operations in excess of their hard limit and return an error code. For example, the default limit on a PAYG package for the message publish rate on an individual channel is 2,400 messages per second (higher limits are available). Any message publish attempts in excess of the 2,400 messages per second will be rejected and an error code will be returned to the publisher. h4(#global-rates). Global instantaneous rate limits -Global instantaneous rate limits apply rate suppression to operations that exceed their hard limits. Rate suppression is calculated on a rolling probabilistic basis. For example, the limit on a self-service package for publishing messages into a queue is 200 messages per second. If a queue rule is attempting to publish 400 messages per second into the queue, each message will have a 50% chance of being rejected. The suppression probability is continuously updated based on the publishing rate. +Global instantaneous rate limits apply rate suppression to operations that exceed their hard limits. Rate suppression is calculated on a rolling probabilistic basis. For example, the default limit on a PAYG package for publishing messages into a queue is 200 messages per second. If a queue rule is attempting to publish 400 messages per second into the queue, each message will have a 50% chance of being rejected. The suppression probability is continuously updated based on the publishing rate. Global instantaneous rate limits only have a hard limit. Once the hard limit rate has been exceeded then message suppression will occur. As soon as the rate drops below the hard limit threshold, the suppression probability will decrease to zero. @@ -70,20 +72,22 @@ An example of a quantity-based limit is the one for peak connections. When the h h2(#quota). Quota limits -Quotas are based on the account "package":https://ably.com/pricing/calculator that you are on. Quotas specify the number of peak channels, peak connections, messages and bandwidth that you expect to consume each month. Monthly quotas can be configured for self-service accounts. Quotas for free accounts are fixed. Enterprise account quotas are set in a way that ensures that limits are not reached during normal operations for an account. +Quotas are based on the account "package":https://ably.com/pricing that you are on. Quotas specify the number of peak channels, peak connections, messages and bandwidth that you expect to consume each month. Quotas for free accounts are fixed. Committed Use account quotas are set in a way that ensures that limits are not reached during normal operations for an account. -The quotas for an account can be considered a soft limit, with no restrictions coming into effect until the hard limit is reached. Free accounts have a small buffer between the soft and hard limits. Self-service accounts have a considerably larger buffer between soft and hard limits, however any usage over the soft limit and up to the hard limit is charged as overages. +The quotas for an account can be considered a soft limit, with no restrictions coming into effect until the hard limit is reached. Free accounts have a small buffer between the soft and hard limits. -|_/2=. Limit |_\2=. Free |_\2=. Self-service |_\2=. Business (legacy) |_\2=. Enterprise | -|_. Soft |_. Hard |_. Soft |_. Hard |_. Soft |_. Hard |_. Soft |_. Hard | -| "Peak connections":#peak-connections | 200 | 240 | Quota | 2.5x quota | Quota | 5x quota |\2. Custom | -| "Peak channels":#peak-channels | 200 | 240 | Quota | 2.5x quota | Quota | 5x quota |\2. Custom | -| "Total messages":#messages | 6,000,000 | 7,200,000 | Quota | 2.5x quota | Quota | 5x quota |\2. Custom | -| "Messages":#messages (per hour) | 84,000 | 100,000 | Quota / 72 | 2.5x quota / 72 | Quota / 72 | 5x quota / 72 |\2. Custom | -| "Message rate":#messages (per second) | - | 70 | - | Hourly * 2.5 | - | Hourly * 2.5 |\2. Custom | -| "Total bandwidth":#bandwidth (GiB) | 11.5 | 13.8 | Quota | 2.5x quota | Quota | 5x quota |\2. Custom | -| "Bandwidth":#bandwidth (per hour in MiB) | 160 | 190 | Quota / 72 | 2.5x quota / 72 | Quota / 72 | 5x quota / 72 |\2. Custom | -| "Bandwidth rate":#bandwidth (per second in KiB ) | - | 132 | - | Hourly * 2.5 | - | Hourly * 2.5 |\2. Custom | +|_/2=. Limit |_\2=. Free |_\2=. PAYG |_\2=. Committed Use | +|_. Soft |_. Hard |_. Soft |_. Hard |_. Soft |_. Hard | +| "Peak connections":#peak-connections | 200 | 240 | 10,000 | 25,000 |\2. Custom >= PAYG | +| "Peak channels":#peak-channels | 200 | 240 | 10,000 | 25,000 |\2. Custom >= PAYG | +| "Total monthly messages":#messages | 6,000,000 | 7,200,000 | No limit | No limit |\2. No limit | +| "Messages":#messages (per hour) | 84,000 | 100,000 | 1,400,000 | 3,500,000 |\2. Custom >= PAYG | +| "Message rate":#messages (per second) | - | 70 | - | 2,400 |\2. Custom >= PAYG | +| "Total bandwidth":#bandwidth (GiB) | 11.5 | 13.8 | 190 | 475 |\2. Custom >= PAYG | +| "Bandwidth":#bandwidth (per hour in MiB) | 160 | 190 | 2.6 | 6.6 |\2. Custom >= PAYG | +| "Bandwidth rate":#bandwidth (per second in KiB ) | - | 132 | - | 4,600 |\2. Custom >= PAYG | + +Limits on any paid account can be increased - "contact us":http://ably.com/support to request a higher limit. h3(#peak-connections). Peak connections @@ -123,13 +127,9 @@ There are three types of peak channel limit notifications you may receive: h3(#messages). Messages -Message counts and rates are the number of "messages":/glossary#messages published and received in your account. +Message counts and rates are the number of "messages":/glossary#messages published and received in your account. In paid accounts, there are only limits to the amount of messages that can be sent hourly and per-second. -* The total messages for a month are set based on your quota. -* The hourly message limit is calculated using the total message limit divided by 72. -* The message rate is calculated using the hourly limit multiplied by 2.5, divided into seconds. For example, if the hourly limit is 208,000 then the message rate will be @(208,000 x 2.5) / 60 / 60 = 145@. - -If the message rate is exceeded, a "global instantaneous rate limit":#global-rates will be applied to message delivery and publishing. The hourly and total message limits are "time-based":#time. If the hard limit is hit for those, message delivery and publishing will be blocked until the following hour or month. +If the message rate is exceeded, a "global instantaneous rate limit":#global-rates will be applied to message delivery and publishing. The hourly message limits are "time-based":#time. If the hard limit is hit for those, message delivery and publishing will be blocked until the following hour. h4(#message-notifications). Message notifications @@ -188,11 +188,11 @@ There are three types of monthly bandwidth limit notifications you may receive: * @messages.monthly.soft.data@ - when your pre-paid quota has been exceeded. * @messages.monthly.hard.data@ - when the hard limit on the account has been exceeded. -h2(#app-limits). App limits +h2(#app-limits). Application limits -App limits relate to the quantity of resources that can be created per account. +Application limits relate to the quantity of resources that can be created per account. -|_=. Limit |_=. Free |_=. Self-service |_=. Business (legacy) |_=. Enterprise | +|_=. Limit |_=. Free |_=. PAYG |_=. Committed Use | | "Number of apps":#apps (per account) |\4=. 100 | | "Number of API keys":#api-keys (per account) |\4=. 100 | | "Number of rules":#rules (per account) |\4=. 100 | @@ -226,11 +226,11 @@ h2(#token). Token request limits Token request limits relate to the rate and size of "token requests":/core-features/authentication#token-authentication made to Ably. -|_/2=. Limit |_\2=. Free |_\2=. Self-service |_\2=. Business (legacy) |_\2=. Enterprise | -|_. Soft |_. Hard |_. Soft |_. Hard |_. Soft |_. Hard |_. Soft |_. Hard | -| "Token requests":#token-rate (per hour) | 72,000 | 86,000 | 0.4 * hard limit | "Connection rate":#connection-rate per hour / 1000 | 0.2 * hard limit | "Connection rate":#connection-rate per hour / 1000 |\2. Custom | -| "Token request rate":#token-rate (per second) | - | 50 | - | 0.4 * hourly limit | - | 0.2 * hourly limit |\2. Custom | -| "Token request size":#token-size |\8=. 128KiB | +|_/2=. Limit |_\2=. Free |_\2=. PAYG |_\2=. Committed Use | +|_. Soft |_. Hard |_. Soft |_. Hard |_. Soft |_. Hard | +| "Token requests":#token-rate (per hour) | 72,000 | 86,000 | 120,000 | 300,000 |\2. Custom >= PAYG | +| "Token request rate":#token-rate (per second) | - | 50 | - | 208 |\2. Custom >= PAYG | +| "Token request size":#token-size |\6=. 128KiB | h3(#token-rate). Token request rate @@ -265,8 +265,8 @@ h2(#connection). Connection limits Connection limits relate to the "realtime connections":/realtime/connection to Ably from your account. -|_=. Limit |_=. Free |_=. Self-service |_=. Business (legacy) |_=. Enterprise | -| "Connection rate":#connection-rate (per second) | 20 | 50 minimum | 50 minimum | Custom | +|_=. Limit |_=. Free |_=. PAYG |_=. Business (legacy) |_=. Committed Use | +| "Connection rate":#connection-rate (per second) | 20 | 85 | 50 minimum | Custom | | "Number of channels":#connection-channels (per connection) | 50 | 200 | 200 | Custom | | "Outbound message rate":#outbound-message (per second) | 15 | 50 | 50 | Custom | | "Inbound message rate":#inbound-message (per second) | 15 | 50 | 50 | Custom | @@ -276,7 +276,7 @@ h3(#connection-rate). Connection rate The connection rate limit is the maximum rate at which new "realtime connections":/realtime/connection can be made to Ably. -The limit is calculated based on the hard limit for "peak connections":#peak-connections, with a minimum value of 50 per second for self-service accounts. +The limit is calculated based on the hard limit for "peak connections":#peak-connections. If the connection rate is exceeded, a "global instantaneous rate limit":#global-rates will be applied to new connection attempts. @@ -308,10 +308,10 @@ h2(#channel). Channel limits Channel limits relate to the number, rate and membership of "channels":/glossary#channels on your account. -|_=. Limit |_=. Free |_=. Self-service |_=. Business (legacy) |_=. Enterprise | +|_=. Limit |_=. Free |_=. PAYG |_=. Business (legacy) |_=. Committed Use | | "Number of subscribers":#subscribers (per channel) |\4=. Unlimited | | "Presence members":#presence-members (per channel) | 50 | 200 | 200 | Custom | -| "Channel creation rate":#channel-create (per second) | 20 | 50 minimum | 50 minimum | Custom | +| "Channel creation rate":#channel-create (per second) | 20 | 85 | 50 minimum | Custom | | "Message publish rate":#message-publish-rate (per second) | 15 | 50 | 50 | Custom | h3(#subscribers). Number of subscribers @@ -337,7 +337,7 @@ h3(#channel-create). Channel creation rate The channel creation rate limit is the maximum rate at which channels can be created across your Ably account. -The limit is calculated based on the hard limit for "peak channels":#peak-channels, with a minimum value of 50 per second for self-service accounts. +The limit is calculated based on the hard limit for "peak channels":#peak-channels. If the channel creation rate is exceeded, a "global instantaneous rate limit":#global-rates will be applied to channel creation. @@ -351,7 +351,7 @@ h2(#message). Message limits Message limits relate to the number, rate and bandwidth of "messages":/realtime/messages on your account. -|_=. Limit |_=. Free |_=. Self-service |_=. Business (legacy) |_=. Enterprise | +|_=. Limit |_=. Free |_=. PAYG |_=. Business (legacy) |_=. Committed Use | | "Message size":#message-size (KiB) | 16 | 64 | 64 | 256 | | "History TTL":#history-ttl (hours) | 24 | 72 | 72 | Custom | @@ -369,7 +369,7 @@ h2(#queues). Queue limits Queue limits relate to the number, length and rates of "queues":/glossary#queues. -|_=. Limit |_=. Free |_=. Self-service |_=. Business (legacy) |_=. Enterprise | +|_=. Limit |_=. Free |_=. PAYG |_=. Business (legacy) |_=. Committed Use | | "Number of queues":#queue-numbers (per account) | 5 | 50 | 50 | Custom | | "Queue length":#queue-length (per account) | 10,000 | 50,000 | 50,000 | Custom | | "Queue publish rate":#queue-publish (per second) | 100 | 200 | 200 | Custom | @@ -399,10 +399,10 @@ h2(#integration). Integration limits Integration limits relate to the rate of "webhooks":/general/webhooks and the rate of messages streamed through "Firehose":/general/firehose. -|_=. Limit |_=. Free |_=. Self-service |_=. Business (legacy) |_=. Enterprise | +|_=. Limit |_=. Free |_=. PAYG |_=. Business (legacy) |_=. Committed Use | | "Webhook batch size":#webhook-batch | 50 | 100 | 100 | Custom | | "Webhook batch concurrency":#webhook-concurrency | 1 | 1 | 1 | Custom | -| "Firehose external queues message rate":#firehose-messages (per second) | 50 | - | - | Custom | +| "Firehose external queues message rate":#firehose-messages (per second) | 50 | 50 | - | Custom | | "Function invocation rate":#function-invocations (per second) | 15 | 30 | 30 | Custom | | "Function concurrency":#concurrent-functions | 30 | 60 | 60 | Custom | @@ -434,10 +434,10 @@ h2(#api). API request limits API request limits are the maximum number of REST API requests that can be made to Ably. This excludes "token requests":#token. -|_/2=. Limit |_\2=. Free |_\2=. Self-service |_\2=. Business (legacy) |_\2=. Enterprise | +|_/2=. Limit |_\2=. Free |_\2=. PAYG |_\2=. Business (legacy) |_\2=. Committed Use | |_. Soft |_. Hard |_. Soft |_. Hard |_. Soft |_. Hard |_. Soft |_. Hard | -| API requests (per hour) | 8,000 | 10,000 | 0.1 * hourly message soft limit | 0.1 * hourly message hard limit| 0.1 * hourly message soft limit | 0.1 * hourly message hard limit |\2. Custom | -| API request rate (per second) | - | 20 | - | 50 minimum | - | 50 minimum |\2. Custom | +| API requests (per hour) | 8,000 | 10,000 | 139,000 | 350,000 | 0.1 * hourly message soft limit | 0.1 * hourly message hard limit |\2. Custom | +| API request rate (per second) | - | 20 | - | 250 | - | 50 minimum |\2. Custom | If the API request rate is exceeded, a "global instantaneous rate limit":#global-rates will be applied to API requests. The hourly API request limit is a "time-based limit":#time, meaning no additional API requests will be accepted until the following hour if the hard limit is hit. @@ -464,7 +464,7 @@ h2(#control-api). Control API limits Control API limits relate to the number of requests that can be made using the "Control API":/control-api per hour. -|_=. Limit |_=. Free |_=. Self-service |_=. Business (legacy) |_=. Enterprise | +|_=. Limit |_=. Free |_=. PAYG |_=. Business (legacy) |_=. Committed Use | | "Authenticated account requests":#authenticated-account (per hour) | 4000 | 4000 | 4000 | 4000 | | "Authenticated access token requests":#authenticated-token (per hour) | 2000 | 2000 | 2000 | 2000 | | "Unauthenticated requests":#unauthenticated (per hour) | 60 | 60 | 60 | 60 |