次の方法で共有


Azure NetApp Files 大容量ボリュームの Linux 用パフォーマンス ベンチマーク

この記事では、Linux のユース ケースに関連した、単一の Azure NetApp Files 大容量ボリュームのテスト済みパフォーマンス機能について説明します。 テストでは、1 台の仮想マシン (VM) と多数の仮想マシンに関連する、読み取りと書き込みのワークロードのスケールアウトとスケールアップの両方のシナリオについて調査しました。 大容量ボリュームのパフォーマンス エンベロープを把握すると、ボリュームのサイズ設定が容易になります。

テストの概要

  • Azure NetApp Files の大容量ボリューム機能では、3 つのサービス レベルが提供されており、それぞれにスループットの制限があります。 パフォーマンス ニーズの変化に応じて、サービス レベルを中断なくスケールアップまたはスケールダウンできます。

    • Ultra サービス レベル: 12,800 MiB/秒
    • Premium サービス レベル: 6,400 MiB/秒
    • 標準サービス レベル: 1,600 MiB/秒

    これらのテストでは、Ultra サービス レベルが使用されました。

  • シーケンシャル I/O: 100% のシーケンシャル書き込みは最大で 8,500 MiB/秒のスループットで行われますが、単一の大容量ボリュームでは 10 GiB/秒 (12,800 MiB/秒) のスループットを達成できます。

  • ランダム I/O: 同じ単一の大容量ボリュームでは、1 秒あたり 700,000 を超える操作が提供されます。

  • メタデータが多いワークロードは、大容量ボリュームの並列処理が促進されるため、Azure NetApp File 大容量ボリュームに有利です。 パフォーマンス上の利点は、VCS アプリケーションで一般的に行われるファイルの作成、リンク解除、ファイル名の変更が多いワークロードや、ファイル数が多い EDA ワークロードで顕著になります。 メタデータが多いワークロードのパフォーマンスの詳細については、「電子設計自動化に Azure NetApp Files を使用するメリット」を参照してください。

  • ストレージ ストレス テストとして設計された合成ワークロード ジェネレーターである FIO を使用して、これらのテスト結果が導かれました。 ストレージ パフォーマンス テストには基本的に 2 つのモデルがあります。

    • スケールアウト コンピューティング。これは、複数の VM を使用して、単一の Azure NetApp Files ボリュームで可能な最大負荷を生成することを指します。
    • スケールアップ コンピューティング。これは、大規模な VM を使用して、単一の Azure NetApp Files ボリューム上の 1 つのクライアントの上限をテストすることを指します。

Linux スケールアウト テスト

テストでは、スケールアウト時に単一の大容量ボリュームのパフォーマンスしきい値が観察され、次の構成で実行されました。

コンポーネント 構成
Azure VM サイズ E32s_v5
Azure VM エグレス帯域幅の制限 2,000 MiB/秒 (2GiB/秒)
オペレーティング システム RHEL 8.4
大容量ボリュームのサイズ 101 TiB Ultra (12,800 MiB/秒のスループット)
マウント オプション hard,rsize=65536,wsize=65536,vers=3
注: 262144 と 65536 の両方を使用すると、同様のパフォーマンス結果が得られます。

256 KiB シーケンシャル ワークロード (MiB/秒)

グラフは、256 KiB のシーケンシャル ワークロードと 1 TiB のワーキング セットを表しています。 これは、約 8,518 MiB/秒の純粋なシーケンシャル書き込みから約 9,970 MiB/秒の純粋なシーケンシャル読み取りまでの範囲で単一の Azure NetApp Files 大容量ボリュームが処理できることを示しています。

大容量ボリュームの 256 KiB シーケンシャル ワークロードの横棒グラフ。

8 KiB ランダム ワークロード (IOPS)

グラフは、8 KiB のランダム ワークロードと 1 TiB のワーキング セットを表します。 このグラフは、Azure NetApp Files 大容量ボリュームが、約 474,000 回の純粋なランダム書き込みから約 709,000 回の純粋なランダム読み取りまでの範囲で処理できることを示しています。

大容量ボリュームのランダムなワークロードの横棒グラフ。

Linux スケールアップ テスト

スケールアウト テストは単一の大容量ボリュームの制限を見つけるために設計されていますが、スケールアップ テストは、上記の大容量ボリュームに対する単一インスタンスの上限を見つけるために設計されています。 Azure では、VM にネットワーク エグレスの制限を設定します。ネットワーク接続ストレージの場合は、書き込み帯域幅が VM ごとに制限されることを意味します。 これらのスケールアップ テストは、使用可能な帯域幅の上限が大きく、そのワークロードを実行するのに十分なプロセッサを備えている場合の機能を示しています。

このセクションのテストは、次の構成で実行されました。

コンポーネント 構成
Azure VM サイズ E104id_v5
Azure VM エグレス帯域幅の制限 12,500 MiB/秒 (12.2 GiB/秒)
オペレーティング システム RHEL 8.4
大容量ボリュームのサイズ 101 TiB Ultra (12,800 MiB/秒のスループット)
マウント オプション hard,rsize=65536,wsize=65536,vers=3
注: 262144 と 65536 の両方を使用すると、同様のパフォーマンス結果が得られます

このセクションのグラフは、NFSv3 を使用したクライアント側マウント オプションの nconnect の結果を示しています。 詳細については、「Azure NetApp Files 用の Linux NFS マウント オプションのベスト プラクティス」を参照してください。

次のグラフでは、nconnect の利点を nconnect のない NFS マウント ボリュームの利点と比較します。 テストでは、FIO は、64 KiB のシーケンシャル ワークロードを使用して、米国東部 Azure リージョンの単一の E104id-v5 インスタンスからワークロードを生成しました。使用した I/O サイズは 256 で、これは、Azure NetApp Files で推奨される最大の I/O サイズであり、同等のパフォーマンス数が得られました。 詳細については、次のトピックを参照してください。 rsize および wsize

Linux の読み取りスループット

次のグラフは、最大 10,000 MiB/秒の nconnect を使用した 256 KiB シーケンシャル読み取りを示しています。これは、nconnect を使用しない場合に到達するスループットの約 10 倍です。

Ultra サービス レベルでは、大容量ボリュームで 10,000 MiB/秒の帯域幅が提供されることに注意してください。

nconnect がある場合とない場合の読み取りスループットを比較した横棒グラフ。

Linux の書き込みスループット

次のグラフは、シーケンシャル書き込みを示しています。 nconnect を使用すると、6,600 MiB/秒のシーケンシャル書き込みに対して、nconnect を指定しないマウントの約 4 倍の観測可能なメリットが得られます。

nconnect がある場合とない場合の書き込みスループットを比較した横棒グラフ。

Linux の読み取り IOPS

次のグラフは、nconnect を使用した最大 426,000 の読み取り IOPS の 8 KiB ランダム読み取りを示しています。これは、nconnect を使用しない場合の計測結果の約 7 倍です。

IOPS がある場合とない場合の読み取り IOPS を比較したグラフ。

Linux の書き込み IOPS

次のグラフは、nconnect を指定した最大 405,000 回の書き込み IOPS の 8 KiB ランダム書き込みを示しています。この値は、nconnect を指定しない場合に測定される結果の約 7.2 倍です。

IOPS がある場合とない場合の書き込み IOPS を比較したグラフ。

次のステップ