What is data disk consumed iops percentage for a VM ?

Palakonda Shiva Prasad 0 Reputation points
2024-02-26T06:36:14.02+00:00

I have a VM with only one data disk. The disk is of StandardSSD. 128GB. At a certain point, Max data disk IOPS consumed percentage = 100%. Max Data Disk Used Burst IO Credits Percentage = 30% Avg Disk Write Operations/sec(Preview) = 542/s Avg Disk Read Operations/sec(Preview) = 540 Isn't Consumed IOPS = (Read + Write)/Provisioned ?

Azure Virtual Machines
Azure Virtual Machines
An Azure service that is used to provision Windows and Linux virtual machines.
7,472 questions
Azure Disk Storage
Azure Disk Storage
A high-performance, durable block storage designed to be used with Azure Virtual Machines and Azure VMware Solution.
590 questions
0 comments No comments
{count} votes

1 answer

Sort by: Most helpful
  1. Sumarigo-MSFT 44,906 Reputation points Microsoft Employee
    2024-02-29T05:53:02.8633333+00:00

    @Palakonda Shiva Prasad Welcome to Microsoft Q&A Forum, Thank you for posting you query here!

    Data Disk IOPS Consumed Percentage: The percentage calculated by dividing the actual data disk IOPS completed by the provisioned data disk IOPS. If this amount is at 100%, your application running is IO capped from your data disk's IOPS limit.

    • Data Disk Bandwidth Consumed Percentage: The percentage calculated by dividing the actual data disk throughput completed by the provisioned data disk throughput. If this amount is at 100%, your application running is IO capped from your data disk's bandwidth limit.
    • OS Disk IOPS Consumed Percentage: The percentage calculated by dividing the actual OS disk IOPS completed by the provisioned OS disk IOPS. If this amount is at 100%, your application running is IO capped from your OS disk's IOPS limit.
    • OS Disk Bandwidth Consumed Percentage: The percentage calculated by dividing the actual OS disk throughput completed by the provisioned OS disk throughput. If this amount is at 100%, your application running is IO capped from your OS disk's bandwidth limit.

    Yes, the consumed IOPS for a data disk can be calculated as the sum of the read and write operations per second divided by the provisioned IOPS for the disk. The formula for consumed IOPS is:

    Consumed IOPS = (Read Operations/sec + Write Operations/sec) / Provisioned IOPS
    

    In your case, the average disk write operations per second is 542 and the average disk read operations per second is 540. However, you haven't mentioned the provisioned IOPS for the disk. If the provisioned IOPS for the disk is 1280 (which is the maximum for a Standard SSD disk), then the consumed IOPS would be: Consumed

    This means that the disk is consuming 84% of the provisioned IOPS, which is below the maximum of 100%. However, the burst IO credits percentage is 30%, which means that the disk is using burst IO credits to handle the workload. Burst IO credits allow the disk to temporarily exceed its provisioned IOPS limit, but if the burst IO credits are depleted, the disk will be limited to its provisioned IOPS limit. For more information refer to this article: Storage IO utilization metrics

    You can also Under the covers splitby is just specifying a ‘*’ filter value for a given dimension

     You can look at this guide for how to use filters with Get-AzMetric https://docs.microsoft.com/en-us/powershell/module/az.monitor/get-azmetric?view=azps-6.4.0#example-4--get-summarized-output-for-a-specified-metric-with-specified-dimension-filter  You’ll need to create a filter like this (New-AzMetricFilter -Dimension City -Operator eq -Value "*") Additional information: Let me illustrate this with an example- Suppose you have a Standard SSD of 128GB that can support up to 500 IOPS. If you measure the read and write operations per second on this disk, you might see something like 540 reads/sec and 542 writes/sec. To calculate the actual IOPS, you need to add these two numbers together, which gives you (540+542) = 1082 IOPS.Now, compare this with the provisioned IOPS, which is the maximum IOPS that the disk can deliver. In this case, the provisioned IOPS is 500. To find out how much of the provisioned IOPS you are using, you need to divide the actual IOPS by the provisioned IOPS and multiply by 100%. This gives you the IOPS consumed percentage, which is a measure of how efficiently you are using the disk.IOPS Consumed Percentage = (Actual IOPS / Provisioned IOPS) * 100%For this example, the IOPS consumed percentage would be (1082 / 500) * 100% = 216.4%. This means that you are using more than twice the IOPS that the disk can provide, which might affect the performance and reliability of your disk.

    Please let us know if you have any further queries. I’m happy to assist you further.    

    ---Please do not forget to "Accept the answer” and “up-vote” wherever the information provided helps you, this can be beneficial to other community members.

    0 comments No comments