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 / LimitE0
Legacy
E1
Legacy
E2
Standard
E3
Standard
Performance limits
Default number of Requests Per Second (RPS), per bucket7507502,0002,000
Maximum number of Requests Per Second (RPS), per bucket750<=2,000<=5,00020,000
Maximum Lifecycle Policy Deletes Per Second, per bucket (see Note 1)7575100300
Quotas
Default capacity per account, per endpoint5 TB100 TB100 TB500 TB
Default number of objects per account, per endpoint50 M100 M100 M500 M
Maximum number of buckets per account, per endpoint1,0001,0001,0001,000
Connection limits
Connections per bucket<per bucket rate limit<per bucket rate limit<per bucket rate limit2,000
Connections per account, per endpoint7507502,0002,000
Bucket limits
Maximum capacity per bucket1 TB1 PB1 PB5 PB
Maximum number of objects per bucket50 million1 billion1 billion10 billion
Access keys
Maximum number of buckets per limited access key25252525
Maximum number of access keys per account100100100100

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 Size5 TiB
Maximum number of parts per upload10,000
Part numbers1 to 10,000 (inclusive)
Part size5 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 request1000
Maximum number of multipart uploads returned in a list multipart uploads request1000

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).