このページでは、ボリューム パフォーマンスのサイジングについて説明します。
パフォーマンス サイズ設定の重要性
パフォーマンスに合わせてワークロードのサイズを正しく設定するには、次のことを理解する必要があります。
単一ボリュームが提供できるパフォーマンスの量。
ボリュームのパフォーマンスを調整する方法。
パフォーマンスは主に基盤となるストレージ プールのサービスレベルに依存します。
Flex Unified と Flex File のカスタム パフォーマンス
Flex Unified と Flex File のカスタム パフォーマンスについては、次の点を考慮してください。
パフォーマンスが共有される: 基盤となるストレージ プールがパフォーマンスを提供します。Flex Unified または Flex File カスタム プール内のすべてのボリュームは、プールの合計パフォーマンスを共有します。小さいボリュームは、大きいボリュームの未使用のパフォーマンスを使用できます。これは、デフォルト モードと ONTAP モードの両方に適用されます。
構成可能なパフォーマンス: プールのパフォーマンスを容量とは別に設定できます。
デフォルト: プールあたり 64 MiBps のスループットと 1,024 IOPS。
スループットのスケーラビリティ: スループットを 1 MiBps 単位で最大 5 GiBps まで増やすことができます。MiBps が 1 つ増えるごとに 16 IOPS が追加されます。
IOPS: プールあたり最大 160,000 IOPS までプロビジョニングします。
大容量プール: スループットは最大 24 GiBps に達します。
上限: プールの有効パフォーマンスは、アプリケーションのブロックサイズに応じて、スループットまたは IOPS のいずれかの上限に達した時点で上限に達します。
Flex File のデフォルトのパフォーマンス
Flex File のデフォルトのパフォーマンスについては、次の点を考慮してください。
パフォーマンスが共有される: 基盤となるストレージ プールがパフォーマンスを提供します。プール内のすべてのボリュームがパフォーマンスを共有します。
Flex Unified と Flex File のカスタム パフォーマンスと同様に、ブロックサイズによって、スループットと IOPS のどちらの上限が先に適用されるかが決まります。
スループット: プール容量の 1 GiB あたり 16 KiBps(最大 1.6 GiBps)。
IOPS: プール容量 1 TiB あたり 1,024 IOPS(最大 60,000 IOPS)。
Standard、Premium、Extreme のパフォーマンス
Standard、Premium、Extreme のサービスレベルのボリュームの場合、ボリュームが維持できる最大スループットは、その容量と、そのボリュームをホストするストレージ プールのサービスレベルによって決まります。ボリュームの最大スループットを増減するには、容量を変更するか、Premium サービスレベルと Extreme サービスレベルの場合は、異なるサービスレベルのストレージ プールに再割り当てします。
次のスループットと IOPS の上限は、大規模なシーケンシャル読み取りを前提としています。小規模な I/O または書き込みが下限に達します。詳細については、パフォーマンス ベンチマークをご覧ください。
パフォーマンスは、ボリューム サイズとサービスレベルに応じてスケーリングします。
Standard: ボリューム容量 1 TiB あたり 16 MiBps(最大 1.6 GiBps)。
Premium: ボリューム容量 1 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 × 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 が処理されるサービス時間が含まれます。レイテンシを改善するには、リージョン内のすべてのゾーンから NetApp Volumes への接続をテストし、レイテンシが最も低いゾーンを選択することをおすすめします。
考慮事項
クライアントのネットワーク帯域幅が要件よりも小さい場合、I/O オペレーションがクライアントでキューに登録されるため、Windows の perfmon または Linux の
nfsiostatによって報告されるクライアント レイテンシは、NetApp Volumes によって報告されるレイテンシよりも高くなります。ボリュームのスループット上限が特定のワークロードに必要な値よりも低い場合、ストレージ レイテンシが高くなります。また、クライアント側のキューイングが追加されるため、クライアントのレイテンシも高くなります。
ボリュームのスループット上限に達した場合は、スループット上限を引き上げることで、クライアントとストレージのレイテンシを改善できます。
次のステップ
ストレージ プールについて確認する。