Azure Disk IOPS Calculator
Find the real IOPS and throughput of an Azure disk layout after P-series limits, striping and the VM cap are applied.
Inputs
From the size documentation — a D16s v5 allows about 12,800 uncached IOPS.
Effective IOPS
10,000IOPS
IOPS per Disk
5,000IOPS
Aggregate Disk IOPS
10,000IOPS
Effective Throughput
400MB/s
On-demand Burst IOPS
5,000IOPS
Limiting Factor
Disk provisioning — the VM still has headroom
Step by step
Values used
Size of each disk = 1,024 GiB; Disks striped together = 2 disks; Disk tier = Premium SSD (fixed per size); Provisioned IOPS per disk (v2 / Ultra) = 8,000 IOPS; Provisioned throughput per disk (v2 / Ultra) = 300 MB/s; VM uncached IOPS limit = 12,800 IOPS; VM uncached throughput limit = 600 MB/s
Azure Disk IOPS
Premium SSD IOPS and MB/s are fixed by the snapped P-series size; striped disks add up, then the VM's uncached limits cap the total: effective = min(disks × per-disk limit, VM limit).
Effective IOPS
= 10,000 IOPS
IOPS per Disk
= 5,000 IOPS
Aggregate Disk IOPS
= 10,000 IOPS
Effective Throughput
= 400 MB/s
On-demand Burst IOPS
= 5,000 IOPS
Limiting Factor
= Disk provisioning — the VM still has headroom
How it works
On Premium SSD you cannot buy IOPS directly — performance is a fixed property of the snapped disk size, so a P30 gives 5,000 IOPS whether you need 500 or 50,000. Striping multiple disks multiplies the disk-side limit, but the VM's own uncached IOPS and throughput caps sit in front of it, and the smaller of the two is what the application sees. Most 'slow disk' tickets in Azure are actually VM-level caps, and adding a bigger disk to a small VM changes nothing; Premium SSD v2 and Ultra let you provision IOPS independently of size, which is often cheaper than buying capacity you do not need.
Formula
Azure Disk IOPS
Premium SSD IOPS and MB/s are fixed by the snapped P-series size; striped disks add up, then the VM's uncached limits cap the total: effective = min(disks × per-disk limit, VM limit).
- per-disk limit
- IOPS or MB/s that the P-series size grants, or the value you provision on v2 and Ultra
- VM limit
- Uncached IOPS and throughput ceiling of the VM size
- burst
- Credit-funded 3,500 IOPS ceiling available on P30 and smaller disks
Frequently Asked Questions
How is Azure Disk IOPS calculated?
Premium SSD IOPS and MB/s are fixed by the snapped P-series size; striped disks add up, then the VM's uncached limits cap the total: effective = min(disks × per-disk limit, VM limit). On Premium SSD you cannot buy IOPS directly — performance is a fixed property of the snapped disk size, so a P30 gives 5,000 IOPS whether you need 500 or 50,000. Striping multiple disks multiplies the disk-side limit, but the VM's own uncached IOPS and throughput caps sit in front of it, and the smaller of the two is what the application sees.
Why does Azure Disk IOPS matter?
Most 'slow disk' tickets in Azure are actually VM-level caps, and adding a bigger disk to a small VM changes nothing; Premium SSD v2 and Ultra let you provision IOPS independently of size, which is often cheaper than buying capacity you do not need.
What values do I need to enter?
This calculator takes 7 inputs: Size of each disk, Disks striped together, Disk tier, Provisioned IOPS per disk (v2 / Ultra), Provisioned throughput per disk (v2 / Ultra), VM uncached IOPS limit, VM uncached throughput limit. The pre-filled defaults are a realistic starting point — replace them with figures from your own environment for a result you can act on.
You might also need
- Azure Files CalculatorCommonly used together
- Azure Managed Disk CalculatorCommonly used together
- Azure VM Right-Sizing CalculatorCommonly used together
- Azure Blob Storage CalculatorAlso in Microsoft Azure
- Azure Advisor Savings CalculatorAlso in Microsoft Azure
- Azure Kubernetes Service (AKS) CalculatorAlso in Microsoft Azure