Object Storage quotas and limits
Quotas and limits by endpoint type
The following table lists the limits and account-level quotas for each endpoint type on Object Storage.
| Quota / Limit | E0 Legacy | E1 Legacy | E2 Standard | E3 Standard |
|---|---|---|---|---|
| Performance limits | ||||
| Default number of Requests Per Second (RPS), per bucket | 750 | 750 | 2,000 | 2,000 |
| Maximum number of Requests Per Second (RPS), per bucket | 750 | <=2,000 | <=5,000 | 20,000 |
| Maximum Lifecycle Policy Deletes Per Second, per bucket (see Note 1) | 75 | 75 | 100 | 300 |
| Quotas | ||||
| Default capacity per account, per endpoint | 5 TB | 100 TB | 100 TB | 500 TB |
| Default number of objects per account, per endpoint | 50 M | 100 M | 100 M | 500 M |
| Maximum number of buckets per account, per endpoint | 1,000 | 1,000 | 1,000 | 1,000 |
| Connection limits | ||||
| Connections per bucket | <per bucket rate limit | <per bucket rate limit | <per bucket rate limit | 2,000 |
| Connections per account, per endpoint | 750 | 750 | 2,000 | 2,000 |
| Bucket limits | ||||
| Maximum capacity per bucket | 1 TB | 1 PB | 1 PB | 5 PB |
| Maximum number of objects per bucket | 50 million | 1 billion | 1 billion | 10 billion |
| Access keys | ||||
| Maximum number of buckets per limited access key | 25 | 25 | 25 | 25 |
| Maximum number of access keys per account | 100 | 100 | 100 | 100 |
Note: Lifecycle Policy deletes execute over a 24 hour period. The Lifecycle delete rate per second, per bucket, is the maximum rate that can be expected over a 24 hour period.
Multi-part upload limits
The maximum size of a single upload is 5 GB. You can use multi-part uploads to upload an object that exceeds this limit. Both s3cmd and Cyberduck will do this for you automatically as part of the upload process.
| Maximum Object Size | 5 TiB |
| Maximum number of parts per upload | 10,000 |
| Part numbers | 1 to 10,000 (inclusive) |
| Part size | 5 MiB to 5 GiB. There is no minimum size limit on the last part of your multipart upload. |
| Maximum number of parts returned for a list parts request | 1000 |
| Maximum number of multipart uploads returned in a list multipart uploads request | 1000 |
View quotas and request an increase
A quota is a default value for your account. You can submit a request to support to increase your quotas. Product limits cannot be increased.
You can view your current quotas and usage in Cloud Manager, the CLI, and the API.
Per bucket rate limits
Bucket rate limits specify the maximum Requests Per Second (RPS) for an endpoint. The rate limits for E0 and E1 endpoints are calculated differently than the E2 and E3 endpoints.
- For E0 and E1 endpoints all operations count towards one rate limit for the bucket.
- For E2 and E3 endpoints there are separate rate limits for each operation.
| Operation | E0/E1 Default Rate Limits | E2/E3 Default Rate Limits | E2 Maximum Rate Limits | E3 Maximum Rate Limits |
|---|---|---|---|---|
| GET, HEAD operations for object | 750 RPS This limit is a maximum rate for all operations combined, per bucket. In addition, there is a maximum of 100 RPS for all delete operations as a subset of the total rate limit for the bucket. |
2,000 RPS | 5,000 RPS | 20,000 RPS |
| PUT operations for objects including mult-part uploads | 500 RPS | 1,000 RPS | 2,000 RPS | |
| LIST operations for objects | 100 RPS | 200 RPS | 400 RPS | |
| DELETE | 200 RPS | 200 RPS | 400 RPS | |
| All other operations including ACL and POLICY | 400 RPS | 800 RPS | 1,000 RPS |
*Contact support for any per bucket rate limit increase requests.
Optimize to avoid rate limiting
The rate limit for the number of RPS applies to a bucket and is evaluated against each bucket once per second. If the duration of any request is greater than one second, any open requests will count against the rate limit in the next one second window.
For example, assume there are 750 requests for a single bucket with a duration of two seconds each. All of the requests that do not complete within the first second will count against the rate limit in the next second. With a rate limit of 750 RPS for the bucket, no additional requests can be processed within the two second window until the first 750 requests complete. Any requests that are rate limited will receive a 503 response.
To help avoid rate limiting you can structure your data across multiple buckets, each of which will have its own rate limit.
Rate limiting headers
These headers apply directly to the per bucket rate limits. The Object Storage E2 and E3 endpoints support the following rate limit headers as defined in the IETF draft specification.
x-ratelimit-limit - Indicates the number of requests allowed in the current time window.
x-ratelimit-remaining - Indicates the number of requests remaining in the current time window.
x-ratelimit-reset - Indicates the time, as a relative number of seconds, until the current time window resets.
Examples
x-ratelimit-limit: 2000, 2000;w=1
This indicates a maximum of 2000 requests per second (RPS). The w=1 suggests a 1-second window.x-ratelimit-remaining: 1926
After making some requests within the current 1-second window, there are still 1926 requests left before hitting the limit.x-ratelimit-reset: 1
The current rate limit window will reset in 1 second. After this second passes, the counter will return to the full capacity (2000 requests).
Updated 10 days ago
