Skip to main content
We are redesigning the NetApp Knowledge Base site to make it easier to use and navigate. The new and improved site will be available the first week of October. Check out our video or read this KB article to know more about changes you’ll see on the site.
NetApp Knowledge Base

How do Burst Credits Work in the Context of Element Quality of Service (QoS)?

Last Updated:


Applies to

Element Software

Quality of Service (QoS)



Element QoS allows a volume to burst above its configured maxIOPS for a period of time based on available resources of the node it resides on. 

Burst Credits and Burst Time

The IOPS that a volume can consume while bursting and how long it can burst are based on the following factors:

  • The time increment (burstTime) of 60 seconds (this is fixed and can't be modified) -- one or more of these comprise the discrete increments during which a volume bursts
  • The difference between a volume's configured maxIOPS and burstIOPS
  • Credits (burstIOPSCredit) that the volume accrues over time

The burstIOPS, maxIOPS, and burstTime values for a given volume can be obtained through the ListActiveVolumes API call.  Example output:

"qos": {
                "burstIOPS": 1500,
                "burstTime": 60,
                "curve": { <snip> },
                "maxIOPS": 1000,
                "minIOPS": 50


The current burstIOPSCredit value for a given volume can be obtained via the GetVolumeStats API call.

The maximum burstIOPSCredit is calculated by multiplying the difference between a volume's maxIOPS and burstIOPS by the burstTime of 60 seconds.  For example:

(burstIOPS - maxIOPS) * burstTime = burstIOPSCredit (Maximum)
(1500 - 1000) * 60 is 500 * 60 = 30000

Using Burst Credits

When a volume bursts, it begins to use burstIOPSCredit to exceed the volume's maxIOPS, up to the limit of burstIOPS.  At a maximum, the volume will consume burstIOPS - maxIOPS each second.  For example:

Actual IOPS:  1500  (note this is equal to the volume's burstIOPS)
burstIOPSCredit:  30000
Actual IOPS - maxIOPS = 1500 - 1000 = 500 burstIOPSCredit used per second
burstIOPSCredit / burstIOPSCredit per second = 30000 / 500 = 60 seconds

Thus, in this example the volume is able to burst for a maximum of 60 seconds before its burstIOPSCredit is fully consumed.
A less extreme example is the volume bursting above its maxIOPS but remaining below its burstIOPS.  In this case, a volume can burst for longer than 60 seconds.  For example:

Actual IOPS:  1200  (above maxIOPS but below burstIOPS)
burstIOPSCredit:  30000
Actual IOPS - maxIOPS = 1200 - 1000 = 200 burstIOPSCredit used per second
burstIOPSCredit / burstIOPSCredit per second = 30000 / 200 = 150 seconds

In this example the volume would be able to burst for 150 seconds.

Accruing Burst Credits

Any volume running below its maxIOPS will also accrue burst credits equivalent to how far below the volume's maxIOPS it is running.  For example:

Actual IOPS:  800
maxIOPS - Actual IOPS = 1000 - 800 = 200 burstIOPSCredit accrued per second
burstIOPSCredit (Maximum) / burstIOPSCredit accrued per second = 30000 / 200 = 150 seconds to reach the maximum burstIOPSCredit

In this case, the volume would take 150 seconds (2.5 minutes) to fully accrue its maximum burstIOPSCredit.
In the examples given here we have assumed the burstIOPSCredit is at its maximum.  This is not always the case but all of the math works the same way.  A volume's current burstIOPSCredit amount can be viewed via the GetVolumeStats API call.

Exception:  If there is a volume on the node that cannot reach its minIOPS, then burstIOPS are reset for all volumes

Additional Information




Registered NetApp customers get unlimited access to our dynamic Knowledge Base.

New authoritative content is published and updated each day by our team of experts.

Current Customer or Partner?

Sign In for unlimited access

New to NetApp?

Learn more about our award-winning Support


******************************************************* *******************************************************