このページでは、ボリュームのパフォーマンスのサイジングについて説明します。
パフォーマンスのサイジングの重要性
ワークロードのパフォーマンスを正しくサイジングするには、次のことを理解する必要があります。
1 つのボリュームで提供できるパフォーマンスの量。
ボリュームのパフォーマンスを調整する方法。
パフォーマンスが主に基盤となるストレージ プールのサービスレベルに依存する仕組み。
Flex Unified と Flex File のカスタム パフォーマンス
Flex Unified と Flex File のカスタム パフォーマンスについては、次の点を考慮してください。
パフォーマンスは共有される: 基盤となるストレージ プールが パフォーマンスを提供します。Flex Unified または Flex File のカスタム プール内のすべてのボリュームは、プールの合計パフォーマンスを共有します。小さいボリュームは、大きいボリュームの未使用のパフォーマンスを使用できます。これは、デフォルト モードと ONTAP モードの両方に適用されます。
構成可能なパフォーマンス: プールのパフォーマンスは容量とは別に設定できます。
デフォルト: プールあたり 64 MiBps のスループットと 1,024 IOPS。
スループットのスケーラビリティ: スループットを 1 MiBps 単位で最大 5 GiBps まで増やすことができます。MiBps を追加するごとに 16 IOPS が追加されます。
IOPS: プールあたり最大 160,000 IOPS をプロビジョニングします。
大容量プール: スループットは最大 22 GiBps に達します。
上限: プールの有効なパフォーマンスは、アプリケーションのブロックサイズに応じて、スループットまたは IOPS のいずれか先に達した 上限によって制限されます。
Flex File のデフォルト パフォーマンス
Flex File のデフォルト パフォーマンスについては、次の点を考慮してください。
パフォーマンスは共有される: 基盤となるストレージ プールが パフォーマンスを提供します。プール内のすべてのボリュームがパフォーマンスを共有します。
Flex Unified と Flex File のカスタム パフォーマンスと同様に、ブロックサイズによって、スループットと IOPS のどちらの上限が先に適用されるかが決まります。
スループット: プール容量の GiB あたり 16 KiBps(最大 1.6 GiBps)。
IOPS: プール容量の TiB あたり 1,024 IOPS(最大 60,000 IOPS)。
Standard、Premium、Extreme のパフォーマンス
Standard、Premium、Extreme のサービスレベルのボリュームの場合、ボリュームが維持できる最大スループットは、その容量と、それをホストするストレージ プールのサービスレベルによって決まります。ボリュームの最大スループットは、容量を変更することで増減できます。また、Premium と Extreme のサービスレベルの場合は、異なるサービスレベルのストレージ プールに再割り当てすることで増減できます。
次のスループットと IOPS の上限は、大規模なシーケンシャル読み取りを想定しています。小規模な I/O または書き込みは、より低い上限に達します。詳細については、 パフォーマンス ベンチマークをご覧ください。
パフォーマンスは、ボリュームサイズとサービスレベルに応じてスケールします。
Standard: ボリューム容量の TiB あたり 16 MiBps(最大 1.6 GiBps)。
Premium: ボリューム容量の TiB あたり 64 MiBps(ボリュームあたり最大 5 GiBps)。大容量ボリュームの場合は 30 GiBps。
Extreme: ボリューム容量の TiB あたり 128 MiBps(ボリュームあたり最大 5 GiBps)。大容量ボリュームの場合は 30 GiBps。
線形スケーリング: スループットは、サービスレベルの上限に達するまでボリュームサイズに応じて増加します。
パフォーマンスの調整: パフォーマンスを向上させるには、ボリューム容量を増やすか、Premium や Extreme などの上位のサービスレベルに移行します。より詳細に制御するには、手動 QoSを使用して、プールのパフォーマンスを特定のボリュームに割り当てます。
ワークロードの考慮事項
ボリュームのパフォーマンスのサイジングのセクションでは、ボリュームが提供できる最大パフォーマンスについて説明します。実際のアプリケーションのパフォーマンスは、アプリケーションがボリュームに対して I/O オペレーションを実行する方法によって異なります。
アプリケーションのパフォーマンスを決定する主な要因は次のとおりです。
ワークロードの組み合わせ: 読み取り、書き込み、メタデータ オペレーション、シーケンシャル アクセスとランダム アクセス。
ブロックサイズ: ブロックが小さいほど IOPS が高くなり、ブロックが大きいほど スループットが高くなります。効率を高めるには、大きなブロックサイズ(64 KiB 以上)を使用します。
レイテンシ: ネットワーク レイテンシが低いほどパフォーマンスが向上します。
I/O の同時実行: 並列 I/O オペレーションが多いほどパフォーマンスが向上します。
アクセス プロトコル: プロトコル(NFSv3、NFSv4、SMB、iSCSI)の選択によってパフォーマンスが 影響を受ける可能性があります。
クライアント VM キャッシュ: VM バッファ キャッシュを増やすと、読み取りオペレーションを減らすことができます。
主な式は次のとおりです。
IOPS = 同時実行 / レイテンシ
スループット = IOPS × ブロックサイズ
次の例は、スループットと IOPS の計算方法を示しています。
ボリューム スループットの例
Premium サービスレベルで容量が 1,500 GiB のボリュームの場合、同時実行数 8 で実現可能な最大シーケンシャル読み取りスループットは、次の式で計算されます。Premium ボリュームの場合、スループットは上限に達するまでボリューム容量に比例してスケールします。
(1,500 GiB x 64 KiBps/GiB) / 1,024 KiB/MiB = 93.75 MiBps
スループットと IOPS の例
Windows エクスプローラーでシングルスレッド コピー(concurrency = 1)を使用して、ユーザーが大容量ファイルをコピーするシナリオを考えてみましょう。ファイルは、ローカル SSD から 4 TiB の Extreme ボリュームに移動されます。このボリュームのスループット上限は 512 MiBps です。Windows エクスプローラーが 128 KiB のブロックサイズを使用し、ボリュームのレイテンシが 0.5 ミリ秒であると仮定すると、スループットと IOPS は次の式で計算できます。
IOPS = 1/0.0005 秒 = 2,000 IOPS
スループット = 2,000 IOPS * 128 KiB = 256,000 KiBps = 250 MiBps
この例では、エクスプローラーはスループットをボリュームの上限(512 MiBps)まで引き上げることができません。また、レイテンシが 1 ミリ秒の場合、レイテンシはシングルスレッド アプリケーションに直接影響するため、スループットは 50% 低下します。このボリュームの最大パフォーマンスを引き出すには、同時実行数の多いマルチスレッド アプリケーションを使用します。
メタデータ オペレーション
メタデータ オペレーションは、プロトコル固有の小規模なオペレーションです。メタデータ オペレーションのパフォーマンスは、主にレイテンシによって制限されます。メタデータ オペレーションの例を次に示します。
フォルダの内容を一覧表示する
ファイルを削除する
権限を設定する
レイテンシ
レイテンシは、I/O オペレーションが完了するまでにかかる合計時間です。 これには、キューでの待ち時間と、I/O が処理されるサービス時間が含まれます。Standard、Premium、Extreme のサービスレベルを使用しているときにレイテンシを改善するには、リージョン内のすべてのゾーンから NetApp Volumes への接続をテストし、レイテンシが最も低いゾーンを選択することをおすすめします。
考慮事項
クライアントのネットワーク帯域幅が必要な帯域幅よりも小さい場合、Windows の perfmon または Linux の
nfsiostatによって報告されるクライアント レイテンシは、NetApp Volumes によって報告されるレイテンシよりも高くなります。これは、I/O オペレーションがクライアントでキューに登録されるためです。ボリュームのスループット上限が、特定のワークロードに必要なスループットよりも低い場合、ストレージ レイテンシが高くなります。また、クライアントサイドのキューイングが増えるため、クライアント レイテンシも高くなります。
ボリュームのスループット上限に達した場合は、スループット上限を増やすことで、クライアントとストレージのレイテンシを改善できます。
次のステップ
ストレージ プールについて確認する。