problems and solutions signs

Azure Storage IOPS

Q: I have a lot of disks in an Azure storage account, and performance seems to be sufferingwhy?

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.

Hide comments


  • Allowed HTML tags: <em> <strong> <blockquote> <br> <p>

Plain text

  • No HTML tags allowed.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Lines and paragraphs break automatically.