FSx for Windows File Server のパフォーマンス
FSx for Windows File Server は、さまざまなパフォーマンスニーズを満たすファイルシステム設定オプションを提供します。以下では、Amazon FSx ファイルシステムのパフォーマンスの概要を示し、利用可能なパフォーマンス設定オプションと役に立つパフォーマンスのヒントを説明します。
トピック
ファイルシステムのパフォーマンス
各 FSx for Windows File Server ファイルシステムは、クライアントが通信する Windows ファイルサーバーと、ファイルサーバーに接続されたストレージボリューム (ディスク) のセットで構成されます。各ファイルサーバは、高速のインメモリキャッシュを使用して、最も頻繁にアクセスされるデータのパフォーマンスを向上させます。
次の図は、FSx for Windows File Server ファイルシステムからデータにアクセスする方法を示しています。
クライアントがインメモリキャッシュに保存されているデータにアクセスすると、そのデータはネットワーク I/O として要求元のクライアントに直接提供されます。ファイルサーバーは、データをディスクから読み取ったりディスクに書き込んだりする必要はありません。このデータアクセスのパフォーマンスは、ネットワーク I/O の上限とインメモリキャッシュのサイズによって決まります。
クライアントがキャッシュにないデータにアクセスすると、ファイルサーバーはそのデータをディスク I/O としてディスクから読み取ったり、ディスクに書き込んだりします。その後、データはネットワーク I/O としてファイルサーバーからクライアントに提供されます。このデータアクセスのパフォーマンスは、ネットワーク I/O の上限とディスク I/O の上限によって決まります。
ネットワーク I/O のパフォーマンスとファイルサーバーのインメモリキャッシュは、ファイルシステムのスループットキャパシティによって決まります。ディスク I/O パフォーマンスは、スループットキャパシティとストレージ構成の組み合わせによって決まります。ファイルシステムが達成できる最大ディスク I/O パフォーマンス (ディスクスループットとディスク IOPS レベルから構成される) は、以下のいずれか低い値になります。
ファイルシステム用に選択したスループットキャパシティに基づく、ファイルサーバーによって提供されるディスク I/O パフォーマンスレベル。
ストレージ構成 (ファイルシステム用に選択したストレージ容量、ストレージタイプ、SSD IOPS レベル) によって提供されるディスク I/O パフォーマンスレベル。
パフォーマンスに関するその他の考慮事項
ファイルシステムのパフォーマンスは、通常、レイテンシー、スループット、1 秒あたりの I/O オペレーション (IOPS) によって測定されます。
レイテンシー
FSx for Windows File Server では、高速のインメモリキャッシュを使用して、アクティブにアクセスするデータに対して一貫したサブミリ秒のレイテンシーを実現します。インメモリキャッシュにないデータ、つまり、基盤となるストレージボリュームで I / O を実行する必要があるファイル操作の場合、Amazon FSx はソリッドステートドライブ (SSD) ストレージでサブミリ秒のファイル操作のレイテンシーを提供し、ハードディスクドライブ (HDD) ストレージでは 1 桁ミリ秒のレイテンシーを提供します。
スループットと IOPS
Amazon FSx ファイルシステムは、Amazon FSx が利用可能なすべての AWS リージョン において、最大 2 GB/秒、80,000 IOPS を提供し、米国東部 (バージニア北部)、米国西部 (オレゴン)、米国東部 (オハイオ)、欧州 (アイルランド)、アジアパシフィック (東京)、アジアパシフィック (シンガポール) では 12 GB/秒のスループットと 400,000 IOPS を実現しています。ファイルシステムでワークロードが駆動できるスループットと IOPS の特定量は、ファイルシステムのスループットキャパシティ、ストレージ容量、およびストレージタイプ、そしてアクティブなワーキングセットのサイズなどワークロードの性質によって異なります。
シングルクライアントパフォーマンス
Amazon FSx を使用すると、ファイルシステムにアクセスする単一のクライアントからファイルシステムのフルスループットと IOPS レベルまで到達できます。Amazon FSx は [SMB Multichannel] (SMB マルチチャネル) をサポートしています。この機能により、ファイルシステムにアクセスする単一のクライアントに対して、最大複数の GB/s スループットと数十万の IOPS を提供できます。SMB マルチチャネルは、クライアントとサーバ間の複数のネットワーク接続を同時に使用して、ネットワーク帯域幅を集約し、最大限の利用率を実現します。Windows でサポートされている SMB 接続の数には理論上の制限がありますが、この制限は数百万で、実際には無制限の数の SMB 接続を持つことができます。
バーストパフォーマンス
ファイルベースのワークロードは通常、スパイキーであり、バースト間のアイドル時間が長い I / O が短く、強烈な期間によって特徴付けられます。スパイクの多いワークロードをサポートするために、ファイルシステムが 24 時間年中無休で維持できるベースライン速度に加えて、Amazon FSx は、ネットワーク I / O とディスク I / O の両方のオペレーションで一定期間より高速にバーストする機能を提供します。Amazon FSx は、I/O クレジットメカニズムを使用して、平均使用率に基づいてスループットと IOPS を割り当てます。ファイルシステムでは、スループットと IOPS 使用率がベースラインを下回るとクレジットが計上され、I/O オペレーションの実行時にこれらのクレジットを使用できます。
スループットキャパシティがパフォーマンスに与える影響
スループットキャパシティは、次のカテゴリにおいてファイルシステムのパフォーマンスを決定します。
ネットワーク I/O – ファイルサーバーがファイルデータにアクセスしているクライアントに対してファイルデータを提供できる速度。
ファイルサーバーの CPU とメモリ – ファイルデータの提供や、データ重複排除やシャドウコピーなどのバックグラウンドアクティビティの実行に使用できるリソース。
ディスク I/O – ファイルサーバーがファイルサーバーとストレージボリューム間の I/O をサポートできる速度。
次の表は、プロビジョニングされた各スループットキャパシティ設定で制御できるネットワーク I/O (スループットと IOPS) とディスク I/O (スループットと IOPS) の最大レベル、およびデータ重複排除やシャドウコピーなどのバックグラウンドアクティビティのキャッシュとサポートに使用できるメモリ量の詳細を示しています。Amazon FSx API または CLI を使用する場合、スループットキャパシティのレベルを毎秒 32 メガバイト未満に選択できますが、このレベルは、実稼働ワークロードではなく、テストおよび開発ワークロードを対象としています。
注記
4,608 MBps 以上のスループットキャパシティレベルは、以下の米国東部 (バージニア北部)、米国西部 (オレゴン)、米国東部 (オハイオ)、欧州 (アイルランド)、アジアパシフィック (東京)、アジアパシフィック (シンガポール)のリージョンでのみサポートされることに注意してください。
FSx スループットキャパシティ (メガバイト/秒) | ネットワークスループット (メガバイト/秒) | ネットワーク IOPS | メモリ (GB) | |
---|---|---|---|---|
ベースライン |
バースト (1 日数分間) |
|||
32 | 32 | 600 | 数千 |
4 |
64 | 64 | 600 | 数万 |
8 |
128 | 150 | 1,250 | 8 | |
256 | 300 | 1,250 | 数十万 |
16 |
512 | 600 | 1,250 | 32 | |
1,024 | 1,500 | – |
72 | |
2,048 | 3,125 | – |
144 | |
4,608 | 9,375 | – |
百万 |
192 |
6,144 | 12,500 | – |
256 | |
9,216 | 18,750 | – |
384 | |
12,288 | 21,250 | – |
512 |
FSx スループットキャパシティ (メガバイト/秒) | ディスクスループット (メガバイト/秒) | ディスク IOPS | ||
---|---|---|---|---|
ベースライン |
バースト (1 日 30 分) |
ベースライン |
バースト (1 日 30 分) |
|
32 | 32 | 260 | 2K | 12K |
64 | 64 | 350 | 4K | 16K |
128 | 128 | 600 | 6K | 20K |
256 | 256 | 600 | 10K | 20K |
512 | 512 | – |
20K | – |
1,024 | 1,024 | – |
40K | – |
2,048 | 2,048 | – |
80K | – |
4,608 | 4,608 | – |
150K | – |
6,144 | 6,144 | – |
200K | – |
9,216 | 9,2161 | – |
300K1 | – |
12,288 | 12,2881 | – |
400K1 | – |
注記
1スループットキャパシティが 9,216 または 12,288 MBps のマルチ AZ ファイルシステムを使用している場合、書き込みトラフィックのみのパフォーマンスは 9,000 MBps、262,500 IOPS に制限されます。それ以外の場合は、すべてのマルチ AZ ファイルシステムの読み取りトラフィック、すべてのシングル AZ ファイルシステムの読み取りトラフィックと書き込みトラフィック、その他すべてのスループットキャパシティレベルについて、使用しているファイルシステムが表に示されているパフォーマンスの制限をサポートすることになります。
適切なレベルのスループットキャパシティの選択
Amazon Web Services マネジメントコンソールを使用してファイルシステムを作成する場合、Amazon FSx は、設定したストレージ容量に基づいて、ファイルシステムの推奨されるスループットキャパシティレベルを自動的に選択します。推奨されるスループットキャパシティはほとんどのワークロードに対して適切な設定となっていますが、アプリケーションのニーズに合わせて特定量のスループットキャパシティを指定し、推奨された設定を上書きすることもできます。例えば、ワークロードでファイルシステムに 1 GBps のトラフィックを送信する必要がある場合、1,024 MBps 以上のスループットキャパシティを選択する必要があります。
設定するスループットのレベルを決定する際には、ファイルシステムで有効にする予定の機能についても考慮する必要があります。例えば、シャドウコピーを有効にする場合、ファイルサーバーが I/O パフォーマンス容量を使用してシャドウコピーを実行できるよう、予想されるワークロードの 3 倍のレベルまでスループットキャパシティを増やす必要があるかもしれません。データ重複排除を有効にする場合は、ファイルシステムのスループットキャパシティに関連付けるメモリ量を決定し、このメモリ容量がデータのサイズに対して十分であることを確認する必要があります。
スループットキャパシティは、作成後いつでも増減できます。詳細については、「FSx for Windows File Server ファイルシステムのスループットキャパシティの管理」を参照してください。
Amazon FSx コンソールの [モニタリングとパフォーマンス > パフォーマンス] タブを表示することにより、ファイルサーバーのパフォーマンスリソースのワークロード使用状況をモニタリングし、選択するスループットキャパシティに対する推奨事項を取得することができます。本番稼働前の環境でテストして、選択した設定がワークロードのパフォーマンス要件を満たしていることを確認することをお勧めします。マルチ AZ ファイルシステムの場合、ファイルシステムのメンテナンス、スループットキャパシティの変更、計画外のサービス中断の際に発生するフェイルオーバープロセスがワークロードに与える影響をテストし、これらのイベント中にパフォーマンスへの影響を防ぐため、十分なスループットキャパシティをプロビジョニングしていることを確認することもお勧めします。詳細については、「ファイルシステムメトリクスへのアクセス」を参照してください。
ストレージ構成がパフォーマンスに与える影響
ファイルシステムのストレージ容量、ストレージタイプ、SSD IOPS レベルはすべて、ファイルシステムのディスク I/O パフォーマンスに影響します。これらのリソースは、ワークロードに必要なパフォーマンスレベルを提供するように構成できます。
ストレージ容量を増やし、SSD IOPS をいつでもスケールできます。詳細については、ストレージ容量の管理およびSSD IOPS の管理を参照してください。また、ファイルシステムを HDD ストレージタイプから SSD ストレージタイプにアップグレードできます。詳細については、「ファイルシステムのストレージタイプの管理」を参照してください。
ファイルシステムは、デフォルトで次のレベルのディスクスループットと IOPS を提供します。
ストレージタイプ | ディスクスループット (ストレージ 1 TiB あたり MBps) | ディスク IOPS (ストレージ 1 TiB あたりの IOPS) |
---|---|---|
SSD | 750 | 3,0001 |
HDD | 12 ベースライン; 80 バースト (ファイルシステムあたり最大 1 GB / 秒) | 12 ベースライン; 80 バースト |
注記
1SSD ストレージタイプのファイルシステムでは、ストレージ 1 GiB あたり最大 500 IOPS、ファイルシステムあたり最大 400,000 IOPS を追加プロビジョニングできます。
HDD バーストパフォーマンス
HDD ストレージボリュームの場合、Amazon FSx はバーストバケットモデルを使用してパフォーマンスを提供します。ボリュームのベースラインスループット (ボリュームのスループットクレジットが蓄積されるレート) は、ボリュームサイズによって決まります。ボリュームのバーストスループット (クレジットがある場合に可能な消費レート) もボリュームサイズによって決まります。ボリュームが大きいほど、ベースラインとバーストスループットの値も大きくなります。また、ボリュームのクレジットが多いほど、バーストレベルでドライブ I/O に使用できる時間が長くなります。
HDD ストレージボリュームの対応可能なスループットは、以下の計算式で示されます。
(Volume size) × (Credit accumulation rate per TiB) = Throughput
1 TiB HDD ボリュームの場合、バーストスループットは 80 MiB/秒に制限され、バケットのクレジットは 12 MiB/秒で最大 1 TiB 分まで累積されます。
HDD ストレージボリュームでは、ワークロードに応じてパフォーマンスに大きなばらつきが生じる可能性があります。IOPS またはスループットが急激に急増すると、ディスクのパフォーマンスが低下する可能性があります。DiskThroughputBalance メトリクスは、ディスクスループットとディスク IOPS 使用率の両方のバーストクレジットバランスに関する情報を提供します。例えば、ワークロードがベースラインの HDD IOPS 制限 (ストレージの 1 TiB あたり 12 IOPS) を超える場合、ディスク IOPS 使用率 (HDD) は 100% を超え、バーストクレジットバランスが枯渇します。これは DiskThroughputBalance
メトリクスで確認できます。ワークロードが高レベルの I/O を継続的に推進するには、次のいずれかを実行する必要があります。
バーストクレジット残高が補充されるように、ワークロードの I/O 需要を減らします。
ファイルシステムのストレージ容量を増やして、より高いベースラインレベルのディスク IOPS を提供します。
ファイルシステムをアップグレードして SSD ストレージを使用します。これにより、ワークロードの要件により適したベースラインレベルのディスク IOPS が提供されます。
例: ストレージ容量とスループットキャパシティ
次の例は、ストレージ容量とスループットキャパシティがファイルシステムのパフォーマンスに与える影響を示しています。
2 TiB の HDD ストレージ容量と 32 MBps のスループットキャパシティで設定されたファイルシステムには、次のスループットレベルがあります。
ネットワークスループット - 32 MBps のベースラインと 600 MBps バースト (スループットキャパシティ表を参照)
ディスクスループット — 24 MBps のベースラインと 160 MBps のバースト。ディスクスループットは、次より低くなります。
ファイルシステムのスループットキャパシティに基づく、ファイルサーバーがサポートする 32 MBps ベースラインおよび 260 MBps バーストのディスクスループットレベル。
ストレージタイプと容量に基づく、ストレージボリュームがサポートする 24 MBps ベースライン (12 MBps/TB * 2 TiB) および 160 MBps バースト (80 MBps/TB * 2 TiB) のディスクスループットレベル。
ファイルシステムにアクセスするワークロードは、ファイルサーバーのインメモリキャッシュにキャッシュされ、アクティブにアクセスされたデータで実行されるファイルオペレーションでは、最大 32 MBps のベースラインと 600 MBps のバーストスループットを駆動できます。また、例えば、キャッシュミスなどにより、ディスクまでずっと移動する必要があるファイルオペレーションでは最大 24 MBps のベースラインと 160 MBps のバーストスループットを駆動できます。
CloudWatch メトリクスを使用したパフォーマンスの測定
Amazon CloudWatch を使用して、ファイルシステムのスループットと IOPS を測定してモニタリングできます。詳細については、「Amazon CloudWatch によるモニターリング」を参照してください。