Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Azure Files offers fully managed file shares in the cloud that are accessible via SMB and NFS file sharing protocols. This article discusses the scalability and performance targets for Azure Files. In addition to the limits set by Azure Files, other variables in your deployment can affect the targets listed in this article. You should test your usage pattern to determine whether the scalability and performance of Azure Files meet your requirements.
In Azure, a resource is a manageable item that you create and configure within your Azure subscriptions and resource groups. Resources are offered by resource providers, which are management services that deliver specific types of resources.
Storage accounts, offered by the Microsoft.Storage
resource provider. Storage accounts are top-level resources that represent a shared pool of storage, IOPS, and throughput in which you can deploy classic file shares or other storage resources, depending on the storage account kind. All storage resources that are deployed into a storage account share the limits that apply to that storage account. Classic file shares support both the SMB and NFS file sharing protocols.
Classic file share scale targets (Microsoft.Storage)
There are two types of limits that apply to storage accounts and classic file shares:
Control plane limits, which are enforced by the
Microsoft.Storage
resource provider and apply to management requests such as creating, updating, or deleting the storage account or other child resources including but not limited to classic file shares.Data plane limits, which are enforced by the Azure storage platform, and apply to things like creating and deleting files and folders via SMB, NFS, FileREST, and other protocols. For legacy reasons, some management operations, like creating, updating, or deleting classic file shares are also available via the data plane (FileREST protocol). For management requests made directly to the Azure storage platform,
Microsoft.Storage
limits do not apply.
Microsoft.Storage control plane limits
The following limits apply to storage accounts or child resources of the storage account such as classic file shares.
Attribute | Limit |
---|---|
Maximum number of storage accounts per subscription per region | 250 storage accounts |
Maximum number of classic file shares per storage account |
|
Maximum number of file share snapshots per classic file share | 200 |
Maximum number of virtual network rules per storage account | 200 |
Maximum number of IP address rules per storage account | 200 |
Management read operations | 800 per 5 minutes |
Management write operations | 10 per second / 1200 per hour |
Management list operations | 100 per 5 minutes |
Storage account data plane limits
Storage accounts have slightly different limits depending on the SKU and kind of the storage account being used. The SKU of the storage account is a combination of the media tier, the iteration of the billing model, and redundancy. The kind of the storage account is an additional modifier that determines which storage services, features, and billing models it supports. For classic file shares, there are four combinations:
SSD provisioned v2 storage accounts, which are represented by the
FileStorage
storage account kind and thePremiumV2_LRS
orPremiumV2_ZRS
storage account SKUs. These storage accounts can contain only classic file shares and cannot be used to deploy other storage resources such as blob containers, queues, or tables. Classic file shares deployed in these storage accounts are always on the SSD media tier and billed using the provisioned v2 billing model.HDD provisioned v2 storage accounts, which are represented by the
FileStorage
storage account kind and theStandardV2_LRS
,StandardV2_ZRS
,StandardV2_GRS
, orStandardV2_GZRS
storage account SKUs. These storage accounts can contain only classic file shares and cannot be used to deploy other storage resources such as blob containers, queues, or tables. Classic file shares deployed in these storage accounts are always on the HDD media tier and billed using the provisioned v2 billing model.SSD provisioned v1 storage accounts, which are represented by the
FileStorage
storage account kind and thePremium_LRS
orPremium_ZRS
storage account SKUs. These storage accounts can contain only classic file shares and cannot be used to deploy other storage resources such as blob containers, queues, or tables. Classic file shares deployed in these storage accounts are always on the SSD media tier and billed using the provisioned v1 billing model.HDD pay-as-you-go storage accounts, which are represented by the
StorageV2
storage account kind and theStandard_LRS
,Standard_ZRS
,Standard_GRS
,Standard_GZRS
,Standard_RAGRS
, orStandard_RAGZRS
storage account SKUs. These storage accounts can contain classic file shares or other storage resources such as blob containers, queues, and tables. Classic file shares deployed in these storage accounts are always on the HDD media tier and billed using the pay-as-you-go billing model.Note
Although you can deploy classic file shares into storage accounts with the
Standard_RAGRS
orStandard_RAGZRS
storage account SKUs, Azure Files doesn't support read-accessibility mode for geo-redundant storage accounts. These classic file shares will implicitly use theStandard_GRS
orStandard_GZRS
storage account SKUs. Other storage resources, such as blob containers, do support read-accessibility mode, and can be intermingled in these storage accounts.
The following limits apply to the data plane of the storage account. Everything in the storage account, including classic file shares, blob containers, tables, or queues, share these limits.
Attribute | SSD provisioned v2 | HDD provisioned v2 | SSD provisioned v1 | HDD pay-as-you-go |
---|---|---|---|---|
Storage account kind | FileStorage | FileStorage | FileStorage | StorageV2 |
SKUs |
|
|
|
|
Maximum storage capacity | 256 TiB | 4 PiB | 100 TiB | 5 PiB |
Maximum IOPS | 102,400 IOPS | 50,000 IOPS | 102,400 IOPS |
|
Maximum throughput | 10,340 MiB / sec | 5,120 MiB / sec | 10,340 MiB / sec |
|
The following select regions have an increased maximum IOPS and throughput for HDD pay-as-you-go storage accounts only (StorageV2
):
- China East 2
- China North 3
Classic file share data plane limits
The following limits apply at the classic file share level. All classic file shares are also subject to the limits of the storage account in which they are deployed:
SSD and HDD provisioned v2 storage accounts: You can't provision more storage, IOPS, or throughput than the storage account supports, however provisioned v2 file shares support IOPS bursting above the provisioned IOPS on a best-effort basis. If multiple classic file shares in the account burst at the same time, performance is capped a the storage account's IOPS limits.
SSD provisioned v1 storage accounts: You can't provision more storage than the storage account supports, however you can provision more IOPS or throughput than the storage account supports. If the total usage of IOPS or throughput exceeds the storage account's limits, requests are throttled at the storage account level.
HDD pay-as-you-go storage accounts: You can create an unlimited number of classic file shares, each up to 100 TiB but while each classic file share can theoretically consume up to the storage account's limit for IOPS and throughput, if the combined usage of all the resources in the storage account (classic file shares, blob containers, tables, and queues) exceeds those limits, requests are throttled.
Attribute | SSD provisioned v2 | HDD provisioned v2 | SSD provisioned v1 | HDD pay-as-you-go |
---|---|---|---|---|
Storage provisioning unit | 1 GiB | 1 GiB | 1 GiB | N/A |
IOPS provisioning unit | 1 IO / sec | 1 IO / sec | N/A | N/A |
Throughput provisioning unit | 1 MiB / sec | 1 MiB / sec | N/A | N/A |
Minimum storage size | 32 GiB (provisioned) | 32 GiB (provisioned) | 100 GiB (provisioned) | 0 bytes |
Maximum storage size | 256 TiB | 256 TiB | 100 TiB | 100 TiB |
Maximum number of files | Unlimited | Unlimited | Unlimited | Unlimited |
Maximum IOPS (data) | 102,400 IOPS (dependent on provisioning) | 50,000 IOPS (dependent on provisioning) | 102,400 IOPS (dependent on provisioning) | 20,000 IOPS |
Maximum throughput | 10,340 MiB / sec (dependent on provisioning) | 5,120 MiB / sec (dependent on provisioning) | 10,340 MiB / sec (dependent on provisioning) | Up to storage account limits |
Maximum metadata IOPS | Up to 12,000 IOPS | Up to 12,000 IOPS | Up to 12,000 IOPS | Up to 12,000 IOPS |
Maximum filename length1 (full pathname including all directories, file names, and backslash characters) | 2,048 characters | 2,048 characters | 2,048 characters | 2,048 characters |
Maximum length of individual pathname component (in the path \A\B\C\D, each letter represents a directory or file that is an individual component) | 255 characters | 255 characters | 255 characters | 255 characters |
Maximum number of SMB Multichannel channels | 4 | N/A | 4 | N/A |
Maximum number of stored access policies per file share | 5 | 5 | 5 | 5 |
1 Azure Files enforces certain naming rules for directory and file names.
Classic file share scale targets for individual files
File scale targets apply to individual files stored in classic file shares. Your ability to reach the limits on an individual file is subject to the limits of the classic file share and of the storage account in which it's contained.
Attribute | SSD value (includes both provisioned v2 and provisioned v1) | HDD value (includes both provisioned v2 and pay-as-you-go) |
---|---|---|
Maximum file size | 4 TiB | 4 TiB |
Maximum data IOPS per file | 8,000 IOPS | 1,000 IOPS |
Maximum throughput per file | 1,024 MiB / sec | 60 MiB / sec |
Hard link limit per file (NFS only) | 178 | N/A |
Maximum concurrent handles for root directory | 10,000 handles | 10,000 handles |
Maximum concurrent handles per file and directory | 2,000 handles | 2,000 handles |