@Geeaz Welcome to Microsoft Q&A, Thank you for posting your question!
- P30 Disk : You can achieve ,5000 IOPS with a P30 you need to use a VM capable of achieving that number of IOPS and use small operations since 5,000 * 40KB = 200MB/s. You will also need to do many parallel operations since Azure Storage is optimized for that. In general, small operations maximize IOPS while large operations maximize throughput. Cached operations maximize IOPS at the cost of lowered throughput. see https://learn.microsoft.com/en-us/azure/virtual-machines/premium-storage-performance#nature-of-io-requests.
****- P40 Disk**-** To provide flexibility for customers to provision an appropriate disk size which matches their workloads, we introduce two disk sizes in P40 (2TB) and P50 (4TB) for both Managed and unmanaged Premium Disks; S40 (2TB) and S50 (4TB) for Standard Managed Disks. Customers can also provision the maximum disk size of 4,095 GB for Standard unmanaged disks.
Larger Premium Disks P40 and P50 will support your IO intensive workload, consequently, offers higher provisioned disk performance. The maximum Premium Disk IOPS and bandwidth is increased to 7,500 IOPS and 250 MBps respectively. Standard Disks, of all sizes, will offer up to 500 IOPS and 60 MBps.
The maximum IOPS limits per VM and per disk are different and independent of each other. Make sure that the application is driving IOPS within the limits of the VM as well as the premium disks attached to it. In other words, VM throughput limit supersedes the aggregated Disks throughput limit. Otherwise, the application performance will experience throttling. For example, a P50 disk provisions 250 MB per second disk throughput. Each high scale VM size also has a specific throughput limit that it can sustain. For example, Standard GS5 VM has a maximum throughput of 2,000 MB per second. If you attach 10 x P50 disk to GS5 VM, you will get throttled at 2,000 MB sec.
“When you attach a premium storage disk to your high scale VM, Azure provisions for you a guaranteed number of IOPS as per the disk specification. For example, a P50 disk provisions 7500 IOPS. Each high scale VM size also has a specific IOPS limit that it can sustain. For example, a Standard GS5 VM has 80,000 IOPS limit.”
Metrics that help diagnose disk IO capping:
- Data Disk IOPS Consumed Percentage - the percentage calculated by the data disk IOPS completed over the provisioned data disk IOPS. If this amount is at 100%, your application running will be IO capped from your data disk's IOPS limit.
- Data Disk Bandwidth Consumed Percentage - the percentage calculated by the data disk throughput completed over the provisioned data disk throughput. If this amount is at 100%, your application running will be IO capped from your data disk's bandwidth limit.
- OS Disk IOPS Consumed Percentage - the percentage calculated by the OS disk IOPS completed over the provisioned OS disk IOPS. If this amount is at 100%, you'll your application running will be IO capped from your OS disk's IOPS limit.
- OS Disk Bandwidth Consumed Percentage - the percentage calculated by the OS disk throughput completed over the provisioned OS disk throughput. If this amount is at 100%, your application running will be IO capped from your OS disk's bandwidth limit.
Metrics that help diagnose VM IO capping:
- VM Cached IOPS Consumed Percentage - the percentage calculated by the total IOPS completed over the max cached virtual machine IOPS limit. If this amount is at 100%, your application running will be IO capped from your VM's cached IOPS limit.
- VM Cached Bandwidth Consumed Percentage - the percentage calculated by the total disk throughput completed over the max cached virtual machine throughput. If this amount is at 100%, your application running will be IO capped from your VM's cached bandwidth limit.
- VM uncached IOPS Consumed Percentage - the percentage calculated by the total IOPS on a virtual machine completed over the max uncached virtual machine IOPS limit. If this amount is at 100%, your application running will be IO capped from your VM's uncached IOPS limit.
- VM Uncached Bandwidth Consumed Percentage - the percentage calculated by the total disk throughput on a virtual machine completed over the max provisioned virtual machine throughput. If this amount is at 100%, your application running will be IO capped from your VM's uncached bandwidth limit. You can also find new documentation explaining how VM + Disk +Caching can affect applications performance:
https://learn.microsoft.com/en-us/azure/virtual-machines/linux/disk-performance-linux
Hope this helps!
Kindly let us know if the above helps or you need further assistance on this issue.
Please don’t forget to "Accept the answer” and “up-vote” wherever the information provided helps you, this can be beneficial to other community members.