Virtual Machines が Elastic SAN ボリュームに接続されている場合のパフォーマンスのしくみ
この記事では、Elastic SAN のパフォーマンスのしくみと、Elastic SAN の制限および Azure Virtual Machines (VM) の制限の組み合わせがワークロードのパフォーマンスにどのように影響するかを明確にします。
パフォーマンスのしくみ
Azure VM には VM の種類とサイズに基づいた、1 秒あたりの入出力操作 (IOPS) とスループットのパフォーマンス制限があります。 Elastic SAN には、各ボリュームに割り当てられるパフォーマンスのプールがあります。 Elastic SAN ボリュームは VM にアタッチでき、各ボリュームには独自の IOPS とスループットの制限があります。
アプリケーションのパフォーマンスは、VM またはアタッチされたボリュームに割り当てられた量よりも多い IOPS またはスループットを要求すると調整されます。 調整が発生すると、アプリケーションのパフォーマンスは最適化されず、待機時間が増えるなどの悪影響が生じる場合があります。 Elastic SAN の主なベネフィットの 1 つは、要求に基づいて IOPS を自動的にプロビジョニングする機能です。 SAN の IOPS はすべてのボリューム間で共有されるため、ワークロードがピークに達しても調整や追加コストなしで処理できます。 この記事では、このプロビジョニングのしくみについて説明します。
Elastic SAN のパフォーマンス
Elastic SAN のパフォーマンスは、合計容量、IOPS、スループットの 3 つの属性で決まります。 パフォーマンスを最大限に高めるには、プロビジョニングする VM と同じゾーンに SAN を配置する必要があります。
許可
Elastic SAN の合計容量は、基本容量と追加容量の 2 つの異なる容量によって決まります。 基本容量を増やすと、SAN の IOPS とスループットも増えますが、追加容量を増やすよりコストがかかります。 追加容量を増やしても、IOPS とスループットは増えません。
IOPS
Elastic SAN の IOPS は、基本の TiB あたり 5,000 ずつ増加します。 したがって、基本容量が 6 TiB の Elastic SAN では、最大 30,000 IOPS を提供できます。 SAN のパフォーマンスは基本容量によってのみ決まるため、同じ SAN の追加容量が 50 TiB または 500 TiB であっても、提供される IOPS はやはり 30,000 です。 Elastic SAN の IOPS は、すべてのボリュームに分散されます。
スループット
Elastic SAN のスループットは、基本の TiB あたり 200 MB/秒ずつ増加します。 したがって、基本容量が 6 TiB の Elastic SAN でも、最大 1,200 MB/秒を提供できます。 SAN のパフォーマンスは基本容量によってのみ決まるため、その同じ SAN で、追加容量が 50 TiB または 500 TiB のいずれであっても、提供されるスループットは 1,200 MB/s です。 Elastic SAN のスループットは、すべてのボリュームに分散されます。
Elastic SAN ボリューム
個々のボリュームのパフォーマンスは、その容量によって決まります。 ボリュームの最大 IOPS は 1 GiB あたり 750 ずつ増加し、最大は 80,000 IOPS です。 最大スループットは 1 GiB あたり 60 MB/秒ずつ増加し、最大 1,280 MB/秒まで増加します。 ボリュームで 80,000 IOPS を使えるようにするには、少なくとも 107 GiB が必要です。 ボリュームで最大 1,280 MB/s を使えるようにするには、少なくとも 22 GiB が必要です。 すべてのボリュームを合計した IOPS とスループットが、SAN の IOPS とスループットを超えることはできません。
構成例
この記事の各シナリオ例では、Elastic SAN で次の構成を使用します。
リソース | 容量 | IOPS |
---|---|---|
Elastic SAN | 27 TiB | 135,000 (プロビジョニング済み) |
AKS SAN ボリューム | 3 TiB | 最大 80,000 |
ワークロード 1 SAN ボリューム | 10 TiB | 最大 80,000 |
ワークロード 2 SAN ボリューム | 4 TiB | 最大 80,000 |
ワークロード 3 SAN ボリューム | 2 TiB | 最大 80,000 |
シナリオの例
次のシナリオ例では、Elastic SAN がパフォーマンス割り当てをどのように処理するかを示します。 最適なパフォーマンスを得るために、VM と SAN の両方が同じゾーンに存在する必要があります。
一般的なワークロード
ワークロード | 要求された IOPS | 供給された IOPS |
---|---|---|
AKS ワークロード | 3,000 | 3,000 |
ワークロード 1 | 10,000 | 10,000 |
ワークロード 2 | 8,000 | 8,000 |
ワークロード 3 | 20,000 | 20,000 |
このシナリオでは、VM レベルでも SAN レベルでも調整は行われません。 SAN 自体には 135,000 IOPS があり、各ボリュームには最大 80,000 IOPS を処理できる十分な大きさがあり、SAN から十分な IOPS を使用可能であり、VM の IOPS 制限のいずれも超えないため、要求される合計 IOPS は 41,000 です。 そのため、ワークロードはすべて調整なしで実行されます。
単一ワークロードのスパイク
ワークロード | 要求された IOPS | 供給された IOPS | スパイク時間 |
---|---|---|---|
AKS ワークロード | 2,000 | 2,000 | 該当なし |
ワークロード 1 | 10,000 | 10,000 | 該当なし |
ワークロード 2 | 10,000 | 10,000 | 該当なし |
ワークロード 3 | 80,000 | 80,000 | 9:00 am |
このシナリオでは、調整は行われません。 ワークロード 3 が午前 9 時に急増し、80,000 IOPS が要求されました。 他のどのワークロードもスパイクせず、SAN にはワークロードに供給する十分な空き IOPS があったため、調整は行われませんでした。
一般に、これは SAN を共有するワークロードに最適な構成です。 ワークロードの通常の操作や、時折発生するピークを処理するのに十分なパフォーマンスを備えておくことが最善です。
すべてのワークロードのスパイク
ワークロード | 要求された IOPS | 供給された IOPS | スパイク時間 |
---|---|---|---|
AKS ワークロード | 5,000 | 5,000 | 9:00 am |
ワークロード 1 | 40,000 | 21,000 | 午前 9 時 1 分 |
ワークロード 2 | 45,000 | 45,000 | 9:00 am |
ワークロード 3 | 64,000 | 64,000 | 9:00 am |
同時に各ワークロードがピークに達する、最悪のシナリオにおける SAN の動作を把握することは重要です。
このシナリオでは、すべてのワークロードがほぼ同時にスパイクします。 この時点で、すべてのワークロードの組み合わせに必要な合計 IOPS (64,000 + 45,000 + 40,000 + 5,000) は、SAN レベルでプロビジョニングされた IOPS (135,000) を超えています。 そのため、ワークロードが調整されます。 調整は先着順で行われるため、最大容量に達した後に IOPS を要求したいずれのワークロードもパフォーマンスは上がりません。 この場合、ワークロード 1 は他のワークロードの後に 40,000 IOPS を要求したものの、SAN は使用可能な IOPS の大部分を既に割り当てたため、残りの IOPS のみが提供されました。