Azure Storage IOPS
Understand why performance might suffer if you have more than 40 virtual disks in a single storage account.
September 17, 2014
Q: I have a lot of disks in an Azure storage account, and performance seems to be suffering—why?
A: Each disk attached to a standard-tier virtual machine has a 500 I/O operations per second (IOPS) limit. However, each storage account also has an IOPS limit, which is currently 20,000 as documented in "Azure Subscription and Service Limits, Quotas, and Constraints." This is important because it means if you have more than 40 disks in a single storage account then you'll hit the storage account limit before the actual disk limit, and performance will start to suffer. It's therefore important to not have more than 40 disks in a single storage account if you intend to push the disks to their IOPS limit.
An easy way to check the number of disks in a storage account that are actually attached to virtual machines is through the following PowerShell code:
Get-AzureDisk | Where-Object {$_.AttachedTo } | Group-Object {$_.Medialink.Host.Split('.')[0]} -NoElement
This code will output the number of disks attached to a virtual machine for each storage account. If you see a number greater than 40, you should move storage—especially if you're seeing performance issues.
About the Author
You May Also Like