question

FlavioTaguada-5845 avatar image
0 Votes"
FlavioTaguada-5845 asked ·

How bursting disk works on Azure?

I was reading this article https://docs.microsoft.com/en-us/azure/virtual-machines/linux/disk-bursting and it is possible to burst a disk according to how disk is being used. Basically there are 3 states.

Accruing – The resource’s IO traffic is using less than the performance target. Accumulating bursting credits for IOPS and MB/s are done separate from one another. Your resource can be accruing IOPS credits and spending MB/s credits or vice versa.
Bursting – The resource’s traffic is using more than the performance target. The burst traffic will independently consume credits from IOPS or bandwidth.
Constant – The resource’s traffic is exactly at the performance target.

As you can see below, my limit IOPS for this disk is 500 IOPS, but I can have until 3500 IOPS.

Provisioned IOPS 500
Provisioned throughput (MB/s) 100
Max bursting IOPS 3500
Max bursting throughput (MB/s) 170
Max bursting duration (minutes) 30

In my real scenario this is my IOPS for 24 hours, VM is turned off during certain period of time, but there are some spikes more than 500 IOPS. Some of user who is using this VM, complains that some times it "freeze" like when your disk is having a over usage of IOPS, application like Word takes to much time to be opened. Nothing is done and everything comes to work normally.

The only thing that I realized is that, at the same time that user complais about slowness, there is a spikes of IOPS usage, but I quite confuse about how bursting disk works, this spikes took around 20 minutes maximum, documentation says that I can have until 30 minutes of bursting.

Can this spikes of IOPS affect my VM?


9181-disk.png


azure-virtual-machinesazure-disk-storage
disk.png (94.8 KiB)
10 |1000 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.

1 Answer

FlavioTaguada-5845 avatar image
0 Votes"
FlavioTaguada-5845 answered ·

I was working on it and finally understood how it works (hope so). According to this article https://docs.microsoft.com/en-us/azure/virtual-machines/linux/disk-bursting, Microsoft says that we can have until 30 minutes of bursting, actually my test gave me almost 1 hour.

It was tested it using iometer (http://www.iometer.org/) and instruction into this article https://docs.microsoft.com/en-us/azure/virtual-machines/windows/disks-benchmarks.

Basically when the disk was having low IOPS, after executing iometer to get the most performance, that was possible to bursting it around 1 hour. As you can see on the end of chart it was limited to 500 IOPS

9351-disk1.png

Now I kept my disk around 50~450 IOPS, and started iometer again, the behavior was almost the same. It was possible to have a bursting during a period of time (30 minutes) and after that it was limited to 500 IOPS again.

9278-disk2.png

My conclusion about it, even when you are using almost the IOPS limits you always accumulate credits to bursting your disk, the low IOPS usage you have the high credit you accumulate. So, in my case that spikes of IOPS was affecting my disk because my bursting credits was always low. Solution was increase the disk to increase IOPS limits. Specially when you have high IOPS usage you should consider NOT use bursting, try to keep your IOPS less than your limit to keep all things healthy. Another solution is to split out more than one disk to have more IOPS, two P10 disk you can have 1000 IOPS.



disk1.png (52.1 KiB)
disk2.png (151.3 KiB)
·
10 |1000 characters needed characters left characters exceeded

Up to 10 attachments (including images) can be used with a maximum of 3.0 MiB each and 30.0 MiB total.