Azure Storage Scalability and Performance Targets

Overview

This article describes the scalability and performance topics for Azure Storage. For a summary of other Azure limits, see Azure Subscription and Service Limits, Quotas, and Constraints.

Note

All storage accounts run on the new flat network topology and support the scalability and performance targets outlined in this article, regardless of when they were created. For more information on the Azure Storage flat network architecture and on scalability, see Microsoft Azure Storage: A Highly Available Cloud Storage Service with Strong Consistency.

Important

The scalability and performance targets listed here are high-end targets, but are achievable. In all cases, the request rate and bandwidth achieved by your storage account depends upon the size of objects stored, the access patterns utilized, and the type of workload your application performs. Be sure to test your service to determine whether its performance meets your requirements. If possible, avoid sudden spikes in the rate of traffic and ensure that traffic is well-distributed across partitions.

When your application reaches the limit of what a partition can handle for your workload, Azure Storage begins to return error code 503 (Server Busy) or error code 500 (Operation Timeout) responses. If these errors are occurring, then your application should use an exponential backoff policy for retries. The exponential backoff allows the load on the partition to decrease, and to ease out spikes in traffic to that partition.

If the needs of your application exceed the scalability targets of a single storage account, you can build your application to use multiple storage accounts. You can then partition your data objects across those storage accounts. See Azure Storage Pricing for information on volume pricing.

Scalability targets for a storage account

Resource Default Limit
Number of storage accounts per region per subscription 2001
Max storage account capacity 500 TiB2
Max number of blob containers, blobs, file shares, tables, queues, entities, or messages per storage account No limit
Maximum request rate per storage account 20,000 requests per second2
Max ingress3 per storage account (US Regions) 10 Gbps if RA-GRS/GRS enabled, 20 Gbps for LRS/ZRS4
Max egress3 per storage account (US Regions) 20 Gbps if RA-GRS/GRS enabled, 30 Gbps for LRS/ZRS4
Max ingress3 per storage account (Non-US regions) 5 Gbps if RA-GRS/GRS enabled, 10 Gbps for LRS/ZRS4
Max egress3 per storage account (Non-US regions) 10 Gbps if RA-GRS/GRS enabled, 15 Gbps for LRS/ZRS4

1Includes both Standard and Premium storage accounts. If you require more than 200 storage accounts in a given region, make a request through Azure Support. The Azure Storage team will review your business case and may approve up to 250 storage accounts for a given region.

2 If you need expanded limits for your storage account, please contact Azure Support. The Azure Storage team will review the request and may approve higher limits on a case by case basis. Both general-purpose and Blob storage accounts support increased capacity, ingress/egress, and request rate by request. For the new maximums for Blob storage accounts, see Announcing larger, higher scale storage accounts.

3 Capped only by the account's ingress/egress limits. Ingress refers to all data (requests) being sent to a storage account. Egress refers to all data (responses) being received from a storage account.

4Azure Storage redundancy options include:

  • RA-GRS: Read-access geo-redundant storage. If RA-GRS is enabled, egress targets for the secondary location are identical to those for the primary location.
  • GRS: Geo-redundant storage.
  • ZRS: Zone-redundant storage.
  • LRS: Locally redundant storage.

The following limits apply when performing management operations using the Azure Resource Manager only.

Resource Default Limit
Storage account management operations (read) 800 per 5 minutes
Storage account management operations (write) 200 per hour
Storage account management operations (list) 100 per 5 minutes

Azure Blob storage scale targets

Resource Target
Max size of single blob container Same as max storage account capacity
Max number of blocks in a block blob or append blob 50,000 blocks
Max size of a block in a block blob 100 MiB
Max size of a block blob 50,000 X 100 MiB (approx. 4.75 TiB)
Max size of a block in an append blob 4 MiB
Max size of an append blob 50,000 x 4 MiB (approx. 195 GiB)
Max size of a page blob 8 TiB
Max number of stored access policies per blob container 5
Target throughput for single blob Up to 60 MiB per second, or up to 500 requests per second

Azure Files scale targets

For more information on the scale and performance targets for Azure Files and Azure File Sync, see Azure Files scalability and performance targets.

Resource Target
Max size of a file share 5 TiB
Max size of a file in a file share 1 TiB
Max number of files in a file share No limit
Max IOPS per share 1000 IOPS
Max number of stored access policies per file share 5
Maximum request rate per storage account 20,000 requests per second for files of any valid size3
Target throughput for single file share Up to 60 MiB per second
Maximum open handles for per file 2000 open handles
Maximum number of share snapshots 200 share snapshots

Azure File Sync scale targets

Resource Target Hard limit
Storage Sync Services per subscription 15 Storage Sync Services No
Sync groups per Storage Sync Service 30 sync groups Yes
Registered servers per Storage Sync Service 99 servers Yes
Cloud endpoints per Sync Group 1 cloud endpoint Yes
Server endpoints per Sync Group 50 server endpoints No
Server endpoints per server 33-99 server endpoints Yes, but varies based on configuration
Endpoint size 4 TiB No
File system objects (directories and files) per sync group 6 million objects No
File size 100 GiB No
Minimum file size for a file to be tiered 64 KiB Yes

Azure Queue storage scale targets

Resource Target
Max size of single queue 500 TiB
Max size of a message in a queue 64 KiB
Max number of stored access policies per queue 5
Maximum request rate per storage account 20,000 messages per second assuming 1 KiB message size
Target throughput for single queue (1 KiB messages) Up to 2000 messages per second

Azure Table storage scale targets

Resource Target
Max size of single table 500 TiB
Max size of a table entity 1 MiB
Max number of properties in a table entity 255 (including 3 system properties: PartitionKey, RowKey and Timestamp)
Max number of stored access policies per table 5
Maximum request rate per storage account 20,000 transactions per second (assuming 1 KiB entity size)
Target throughput for single table partition (1 KiB entities) Up to 2000 entities per second

See Also