Azure Storage Scalability and Performance Targets

Overview

This topic describes the scalability and performance topics for Microsoft 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 below, 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 will begin to return error code 503 (Server Busy) or error code 500 (Operation Timeout) responses. When this occurs, the 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, and 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 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
Max ingress3 per storage account (US Regions) 10 Gbps if GRS/ZRS4 enabled, 20 Gbps for LRS2
Max egress3 per storage account (US Regions) 20 Gbps if RA-GRS/GRS/ZRS4 enabled, 30 Gbps for LRS2
Max ingress3 per storage account (Non-US regions) 5 Gbps if GRS/ZRS4 enabled, 10 Gbps for LRS2
Max egress3 per storage account (Non-US regions) 10 Gbps if RA-GRS/GRS/ZRS4 enabled, 15 Gbps for LRS2

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

2 To get your standard storage accounts to grow past the advertised limits in capacity, ingress/egress and request rate, please make a request through Azure Support. The Azure Storage team will review the request and may approve higher limits on a case by case basis.

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. Available only for block blobs.
  • 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 500 TiB
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 MB (approx. 195 GiB)
Max size of a page blob 8 TiB
Max number of stored access policies per blob container 5
Maximum request rate 20,000 requests per second2
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, please 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 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 20 Sync Groups No
Cloud Endpoints per Sync Group 1 Cloud Endpoint Yes
Server Endpoints per Sync Group 50 Server Endpoints No
Server Endpoints per server 5-15 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

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 20,000 messages per 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 252
Max number of stored access policies per table 5
Maximum request rate 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

Scalability targets for virtual machine disks

An Azure virtual machine supports attaching a number of data disks. For optimal performance, you will want to limit the number of highly utilized disks attached to the virtual machine to avoid possible throttling. If all disks are not being highly utilized at the same time, the storage account can support a larger number disks.

  • For Azure Managed Disks: Managed Disks count limit is regional and also depends on the storage type. The default and also the maximum limit is 10,000 per subscription, per region and per storage type. For example, you can create up to 10,000 standard managed disks and also 10,000 premium managed disks in a subscription and in a region.

    Managed Snapshots and Images are counted against the Managed Disks limit.

  • For standard storage accounts: A standard storage account has a maximum total request rate of 20,000 IOPS. The total IOPS across all of your virtual machine disks in a standard storage account should not exceed this limit.

    You can roughly calculate the number of highly utilized disks supported by a single standard storage account based on the request rate limit. For example, for a Basic Tier VM, the maximum number of highly utilized disks is about 66 (20,000/300 IOPS per disk), and for a Standard Tier VM, it is about 40 (20,000/500 IOPS per disk), as shown in the table below.

  • For premium storage accounts: A premium storage account has a maximum total throughput rate of 50 Gbps. The total throughput across all of your VM disks should not exceed this limit.

See Windows VM sizes or Linux VM sizes for additional details.

Managed virtual machine disks

Standard managed virtual machine disks

Standard Disk Type S4 S6 S10 S20 S30 S40 S50
Disk size 32 GB 64 GB 128 GB 512 GB 1024 GB (1 TB) 2048 GB (2TB) 4095 GB (4 TB)
IOPS per disk 500 500 500 500 500 500 500
Throughput per disk 60 MB/sec 60 MB/sec 60 MB/sec 60 MB/sec 60 MB/sec 60 MB/sec 60 MB/sec

Premium managed virtual machine disks: per disk limits

Premium Disks Type P4 P6 P10 P20 P30 P40 P50
Disk size 32 GB 64 GB 128 GB 512 GB 1024 GB (1 TB) 2048 GB (2 TB) 4095 GB (4 TB)
IOPS per disk 120 240 500 2300 5000 7500 7500
Throughput per disk 25 MB/sec 50 MB/sec 100 MB/sec 150 MB/sec 200 MB/sec 250 MB/sec 250 MB/sec

Premium managed virtual machine disks: per VM limits

Resource Default Limit
Max IOPS Per VM 80,000 IOPS with GS5 VM1
Max throughput per VM 2,000 MB/s with GS5 VM1

1Refer to VM Size for limits on other VM sizes.

Unmanaged virtual machine disks

Standard unmanaged virtual machine disks: per disk limits

VM Tier Basic Tier VM Standard Tier VM
Disk size 4095 GB 4095 GB
Max 8 KB IOPS per persistent disk 300 500
Max number of disks performing max IOPS 66 40

Premium unmanaged virtual machine disks: per account limits

Resource Default Limit
Total disk capacity per account 35 TB
Total snapshot capacity per account 10 TB
Max bandwidth per account (ingress + egress1) <=50 Gbps

1Ingress refers to all data (requests) being sent to a storage account. Egress refers to all data (responses) being received from a storage account.

Premium unmanaged virtual machine disks: per disk limits

Premium Storage Disk Type P10 P20 P30 P40 P50
Disk size 128 GiB 512 GiB 1024 GiB (1 TB) 2048 GiB (2 TB) 4095 GiB (4 TB)
Max IOPS per disk 500 2300 5000 7500 7500
Max throughput per disk 100 MB/s 150 MB/s 200 MB/s 250 MB/s 250 MB/s
Max number of disks per storage account 280 70 35 17 8

Premium unmanaged virtual machine disks: per VM limits

Resource Default Limit
Max IOPS Per VM 80,000 IOPS with GS5 VM1
Max throughput per VM 2,000 MB/s with GS5 VM1

1Refer to VM Size for limits on other VM sizes.

See Also