突发信用如何在要素服务质量( QoS )环境中工作?
不可不使用
适用场景
Element 软件
服务质量 (QoS)
问题解答
概述
Element QoS 允许卷根据其所在节点的可用资源在配置的 MaxiOps 之上连续一段时间内突发。
突发信用和突发时间
卷在发生突发时可能消耗的 IOPS 以及其突发时间取决于以下因素:
- 60 秒的时间增量( BurstTime )(这是固定的、不能修改) -- 其中一个或多个增量包含卷突发的离散增量
- 卷的已配置 MaxiOps 和 BurstiOps 之间的区别
- 随着时间的推移、卷累积的积分( Burstiopscredit )
可以通过 ListActiveVolumes API 调用获取给定卷的 BurstOps 、 MaxIOps 和 BurstTime 值。 输出示例:
"qos": {
"burstIOPS": 1500,
"burstTime": 60,
"curve": { <snip> },
"maxIOPS": 1000,
"minIOPS": 50
}
可以通过 GetVolumeStats API 调用获取给定卷的当前 BursIOPScredit 值。
最大的 BursIOPScredit 是通过将卷的 MaxiOps 和 BurstiOps 之间的差乘以 60 秒的 BurstTime 来计算的。 例如:
(burstIOPS - maxIOPS) * burstTime = burstIOPSCredit (Maximum)
(1500 - 1000) * 60 is 500 * 60 = 30000
使用突发信用
当卷爆发时、它开始使用 BursIPScredit 来超过卷的最大操作数、直至超出 BurstiOps 的限制。 在最大程度上、卷将消耗每秒的 Burstiops -MaxiOps 。 例如:
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
因此,在本示例中、卷在完全消耗其 Burstiopscredit 之前最多可以突发 60 秒。
一个不太极端的示例是,卷在最大运营点之上发生了突发事件,但仍停留在其突发量之下。 在这种情况下,卷可能会连续超过 60 秒。 例如:
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
在此示例中,卷将能够连续传输 150 秒。
累积突发信用
在其 MAXIOps 下运行的任何卷也将累积相当于其所运行的卷的最大运行量的突发信用。 例如:
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
在这种情况下,卷需要 150 秒( 2.5 分钟)才能完全累积其最大程度的分页。
在这里给出的示例中,我们假定 Burstiopscredit 是最大的。 这种情况并非总是如此,但所有数学都以相同的方式工作。 可以通过 GetVolumeStats API 调用查看卷的当前 BursIOPScredit 数量。
异常:如果节点上有一个无法到达其 MinIOps 的卷,则会为所有卷重置 Burstiops
追加信息