バーストクレジットは、 Element Quality of Service ( QoS )のコンテキストでどのように機能しますか。
すべてのとおり
環境
Element ソフトウェア
Quality of Service(QoS)
回答
概要
Element QoS を使用すると、ボリュームは、そのボリュームが存在するノードの使用可能なリソースに基づいて、設定されている maxIOPS を超えて一定の期間ボリュームをバーストできます。
バーストクレジットとバースト時間
バースト時にボリュームが消費できる IOPS とバーストの許容時間は、次の要因に基づいています。
- 60 秒の時間増分( burstTime )(これは固定で変更できません):ボリュームがバーストするときのディスクリート増分を構成するものが 1 つ以上あります
- ボリュームの構成済み MaxIOPS と BurstiOps の違い
- ボリュームが長期にわたって発生するクレジット( BurstiopsEdit )
特定のボリュームの BurstiOps 、 MaxIOPS 、 BurstTime の値は、 ListActiveVolumes API 呼び出しで取得できます。 出力例:
"qos": {
"burstIOPS": 1500,
"burstTime": 60,
"curve": { <snip> },
"maxIOPS": 1000,
"minIOPS": 50
}
特定のボリュームの現在の BurstiOpsEdit 値は、 GetVolumeStats API コールを使用して取得できます。
最大 BurstiOpsEdit は、ボリュームの MaxIOPS と BurstiOps の差に 60 秒のバースト時間を掛けて計算されます。 例:
(burstIOPS - maxIOPS) * burstTime = burstIOPSCredit (Maximum)
(1500 - 1000) * 60 is 500 * 60 = 30000
バーストクレジットの使用
ボリュームバーストが発生すると、 Burstiopscredit を使用して、ボリュームの最大 IOPS ( 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 秒間バーストできます。
極端な例としては、ボリュームが最大 IOPS を超えてバーストしても、バースト性を下回っていることが挙げられます。 この場合、ボリュームは 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 未満で実行されているボリュームは、実行されているボリュームの 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 が最大であると仮定しています。 これは必ずしも同じではありませんが、すべての計算が同じように機能します。 ボリュームの現在の BurstiOpsEdit の容量は、 GetVolumeStats API 呼び出しで表示できます。
例外:ノード上に、その minipops に到達できないボリュームがある場合、すべてのボリュームに対して BurstiOps がリセットされます
追加情報