Azure Files のスケーラビリティおよびパフォーマンスのターゲット
Azure Files はクラウドで、SMB および NFS ファイル システム プロトコルを介してアクセスできる、フル マネージドのファイル共有を提供します。 この記事では、Azure Files と Azure File Sync のスケーラビリティとパフォーマンスのターゲットについて説明します。
ここで示すターゲットは、デプロイにある他の変数の影響を受ける可能性があります。 たとえば、ファイルの I/O のパフォーマンスは、SMB クライアントの動作と使用可能なネットワーク帯域幅の影響を受け得る場合があります。 Azure Files のスケーラビリティとパフォーマンスが要件を満たしているかどうかを判断するには、実際の使用パターンでテストすることをお勧めします。 また、これらの制限は時間の経過とともに増加します。
適用対象
ファイル共有の種類 | SMB | NFS |
---|---|---|
Standard ファイル共有 (GPv2)、LRS/ZRS | ![]() |
![]() |
Standard ファイル共有 (GPv2)、GRS/GZRS | ![]() |
![]() |
Premium ファイル共有 (FileStorage)、LRS/ZRS | ![]() |
![]() |
Azure Files のスケール ターゲット
Azure ファイル共有は、ストレージの共有プールを表す最上位オブジェクトである "ストレージ アカウント" にデプロイされます。 このストレージのプールは、複数のファイル共有をデプロイするのに使用できます。 そのため、ストレージ アカウント、Azure ファイル共有、個々のファイルという 3 つのカテゴリについて考慮する必要があります。
ストレージ アカウントのスケール ターゲット
ストレージ アカウントのスケール ターゲットは、ストレージ アカウント レベルで適用されます。 Azure Files には、次のように主に 2 種類のストレージ アカウントがあります。
General Purpose バージョン 2 (GPv2) ストレージ アカウント:GPv2 ストレージ アカウントを使うと、Standard のハード ディスク ベース (HDD ベース) のハードウェアに、Azure ファイル共有をデプロイできます。 GPv2 ストレージ アカウントでは、Azure ファイル共有を格納するだけでなく、BLOB コンテナー、キュー、テーブルなどの他のストレージ リソースを格納することもできます。 ファイル共有は、トランザクション最適化 (既定)、ホット、またはクール層にデプロイできます。
FileStorage ストレージ アカウント:FileStorage ストレージ アカウントを使うと、Premium のソリッドステート ディスク ベース (SSD ベース) のハードウェアに、Azure ファイル共有をデプロイできます。 FileStorage アカウントは、Azure ファイル共有を格納するためにのみ使用できます。FileStorage アカウントでその他のストレージ リソース (BLOB コンテナー、キュー、テーブルなど) をデプロイすることはできません。
属性 | GPv2 ストレージ アカウント (Standard) | FileStorage ストレージ アカウント (Premium) |
---|---|---|
サブスクリプションあたり/リージョンあたりのストレージ アカウント数 | 250 | 250 |
ストレージ アカウントの最大容量 | 5 PiB1 | 100 TiB (プロビジョニング済み) |
最大ファイル共有数 | 無制限 | 無制限、すべての共有の合計プロビジョニング済みサイズは、ストレージ アカウントの最大容量よりも少なくする必要があります |
最大同時要求レート | 20,000 IOPS1 | 100,000 IOPS |
LRS/GRS のスループット (イングレス + エグレス)
|
|
10,340 MiB/秒 |
ZRS のスループット (イングレス + エグレス)
|
|
10,340 MiB/秒 |
前の行に記載されていない、冗長性/リージョンの組み合わせのスループット (イングレス + エグレス) |
|
10,340 MiB/秒 |
仮想ネットワーク規則の最大数 | 200 | 200 |
IP アドレス規則の最大数 | 200 | 200 |
管理読み取り操作 | 5 分あたり 800 | 5 分あたり 800 |
管理書き込み操作 | 1 秒あたり 10 または 1 時間あたり 1,200 | 1 秒あたり 10 または 1 時間あたり 1,200 |
管理一覧表示操作 | 5 分あたり 100 | 5 分あたり 100 |
1 汎用バージョン 2 ストレージ アカウントは、要求によるより高い容量制限とより高いイングレス制限をサポートします。 アカウント制限の引き上げを希望する場合は、Azure サポートにお問い合わせください。
Azure ファイル共有のスケール ターゲット
Azure ファイル共有のスケール ターゲットは、ファイル共有レベルで適用されます。
属性 | Standard ファイル共有1 | Premium ファイル共有 |
---|---|---|
ファイル共有の最小サイズ | 最小なし | 100 GiB (プロビジョニング済み) |
プロビジョニング済みサイズの増加/減少単位 | N/A | 1 GiB |
ファイル共有の最大サイズ |
|
100 TiB |
ファイル共有内の最大ファイル数 | 制限なし | 制限なし |
最大要求レート (最大 IOPS) |
|
|
1 つのファイル共有のスループット (イングレス + エグレス) (MiB/秒) |
|
100 + CEILING(0.04 * ProvisionedStorageGiB) + CEILING(0.06 * ProvisionedStorageGiB) |
共有スナップショットの最大数 | 200 スナップショット | 200 スナップショット |
オブジェクト名の最大長3 (すべてのディレクトリ、ファイル名、バックスラッシュ文字を含む完全なパス名) | 2,048 文字 | 2,048 文字 |
個々のパス名コンポーネントの最大長3 (パス \A\B\C\D では、各文字は個々のコンポーネントであるディレクトリまたはファイルを表します) | 255 文字 | 255 文字 |
ハード リンクの制限 (NFS のみ) | N/A | 178 |
SMB マルチチャネルの最大チャネル数 | 該当なし | 4 |
ファイル共有あたりの保存されるアクセス ポリシーの最大数 | 5 | 5 |
1 Standard ファイル共有で使用可能な 3 つの階層 (トランザクションの最適化、ホット、クール) すべてに Standard ファイル共有の制限が適用されます。
2 標準ファイル共有の既定値は 5 TiB です。100 TiB サイズでファイル共有を作成する方法と、既存の標準ファイル共有を最大 100 TiB まで増やす方法の詳細については、「Azure ファイル共有を作成する」を参照してください。 大規模なターゲットを利用するには、クォータを 5 TiB より大きくなるように変更する必要があります。
3 Azure Files では、ディレクトリとファイルの名前に対して特定の名前付けルールが適用されます。
ファイルのスケール ターゲット
ファイルのスケール ターゲットは、Azure ファイル共有に格納されている個々のファイルに適用されます。
属性 | Standard ファイル共有内のファイル | Premium ファイル共有内のファイル |
---|---|---|
ファイルの最大サイズ | 4 TiB | 4 TiB |
最大同時要求レート | 1,000 IOPS | 最大 8,0001 |
ファイルの最大イングレス | 60 MiB/秒 | 200 MiB/秒 (SMB マルチチャネルで最大 1 GiB/秒)2 |
ファイルの最大エグレス | 60 MiB/秒 | 300 MiB/秒 (SMB マルチチャネルで最大 1 GiB/秒)2 |
ファイル、ディレクトリ、および共有ルートあたりの最大同時実行ハンドル数3 | 2,000 ハンドル | 2,000 ハンドル |
1 読み取りと書き込みの I/O に適用 (一般的に I/O サイズは 64 KiB 以下)。 読み取りと書き込み以外のメタデータ操作の場合、それより低くなることがあります。
2 コンピューターのネットワーク制限、利用できる帯域幅、I/O サイズ、キューの深さ、その他の要因に左右されます。 詳しくは、「SMB マルチチャネルのパフォーマンス」を参照してください。
3 Azure Files では、開いているハンドルを 1 共有あたり 2,000 個サポートしており、実際に多くなる場合があります。 ただし、開いているハンドルをアプリケーションの共有のルートに保持する場合、ファイルまたはディレクトリごとの制限に達する前に、共有ルートの制限に達してしまいます。
Azure File Sync のスケール ターゲット
次の表では、どのターゲットがソフトであるか、Microsoft がテストした境界を表しているか、ハードであるか、適用された最大値を示しているかを表します。
リソース | 移行先 | ハード制限 |
---|---|---|
リージョンあたりのストレージ同期サービス数 | 100 のストレージ同期サービス | はい |
ストレージ同期サービスごとの同期グループ数 | 200 の同期グループ | はい |
ストレージ同期サービスごとの登録サーバー数 | 99 サーバー | はい |
同期グループあたりのクラウド エンドポイント数 | 1 クラウド エンドポイント | はい |
同期グループあたりのサーバー エンドポイント数 | 100 個のサーバー エンドポイント | はい |
サーバーあたりのサーバー エンドポイント数 | 30 個のサーバー エンドポイント | はい |
同期グループあたりのファイル システム オブジェクト数 (ディレクトリとファイル) | 1 億オブジェクト | いいえ |
ディレクトリ内のファイル システム オブジェクト (ディレクトリとファイル) の最大数 (再帰的ではない) | 500 万オブジェクト | はい |
オブジェクト (ディレクトリとファイル) のセキュリティ記述子の最大サイズ | 64 KiB | はい |
ファイル サイズ | 100 GiB | いいえ |
階層化するファイルの最小ファイル サイズ | ファイル システムのクラスター サイズ (ダブルファイル システムクラスターのサイズ) に基づきます。 たとえば、ファイル システム クラスターのサイズが 4 KiB の場合、ファイルの最小サイズは 8 KiB になります。 | はい |
注意
Azure File Sync エンドポイントは、Azure ファイル共有のサイズにスケールアップできます。 Azure ファイル共有のサイズの上限に達した場合、同期は操作できません。
Azure File Sync のパフォーマンス メトリック
Azure File Sync エージェントは Azure ファイル共有に接続している Windows Server マシンで実行されているため、実質的な同期パフォーマンスは、Windows Server と基になるディスクの構成、サーバーと Azure Storage の間のネットワーク帯域幅、ファイルのサイズ、データセット全体のサイズ、データセットでのアクティビティなど、お使いのインフラストラクチャの要因によって異なります。 Azure File Sync はファイル レベルで動作するため、Azure File Sync ベースのソリューションのパフォーマンス特性は、1 秒間に処理されたオブジェクト (ファイルとディレクトリ) の数によって測定される必要があります。
Azure File Sync の場合、2 つのステージで重要です。
- 最初の 1 回限りのプロビジョニング:最初のプロビジョニングのパフォーマンスを最適化するには、「Azure File Sync でのオンボード」で最適な展開の詳細をご覧ください。
- 継続的な同期:Azure ファイル共有に初期データがシードされた後、Azure File Sync は複数のエンドポイントの同期を維持します。
注意
同じ同期グループ内の多数のサーバー エンドポイントを同時に同期すると、エンドポイント間でクラウド サービス リソースの競合が発生します。 その結果、アップロードのパフォーマンスが影響を受けます。 極端な場合、一部の同期セッションはリソースにアクセスできず、失敗します。 ただし、これらの同期セッションはまもなく再開され、輻輳が減少すると最終的に成功します。
各ステージでの展開の計画に役立つように、次の構成のシステムで行われた内部テストにおいて観察された結果を以下に示します。
システム構成 | 詳細 |
---|---|
CPU | 64 仮想コアと 64 MiB の L3 キャッシュ |
メモリ | 128 GiB |
ディスク | SAS ディスクと RAID 10 およびバッテリ バックアップ付きキャッシュ |
ネットワーク | 1 Gbps ネットワーク |
ワークロード | 汎用ファイル サーバー |
1 回限りの初期プロビジョニング | 詳細 |
---|---|
オブジェクトの数 | 2,500 万オブジェクト |
データセットのサイズ | 約 4.7 TiB |
平均ファイル サイズ | 約 200 KiB (最大ファイル:100 GiB) |
最初のクラウド変更の列挙 | 80 オブジェクト/秒 |
アップロードのスループット | 同期グループごとに 20 オブジェクト/秒 |
名前空間ダウンロードのスループット | 400 オブジェクト/秒 |
1 回限りの初期プロビジョニング
最初のクラウド変更の列挙:新しい同期グループが作成されると、最初のクラウド変更の列挙が実行される最初のステップになります。 このプロセスでは、Azure ファイル共有内のすべての項目が列挙されます。 このプロセスの間、同期アクティビティは発生しません。つまり、項目はクラウド エンドポイントからサーバー エンドポイントにダウンロードされず、項目はサーバー エンドポイントからクラウド エンドポイントにアップロードされません。 最初のクラウド変更の列挙が完了すると、同期アクティビティは再開されます。 パフォーマンスの速度は 80 オブジェクト/秒です。 最初のクラウド変更の列挙が完了するまでにかかる時間を見積もるには、クラウド共有内の項目数を決定し、次の式を使用して日単位の時間で取得します。
最初のクラウドの列挙にかかる時間 (日単位) = (クラウド エンドポイント内のオブジェクト数)/(80 * 60 * 60 * 24)
Windows Server から Azure ファイル共有への初回データ同期: データはすべて Windows Server 上にあるため、Azure File Sync デプロイの多くは空の Azure ファイル共有から始まります。 そのような場合、初回クラウド変更の列挙が速く、Windows Server から Azure ファイル共有への変更同期に時間の多くが費やされます。
同期によって Azure ファイル共有にデータがアップロードされますが、ローカルのファイル サーバー上ではダウンタイムがありません。管理者はネットワーク上限を設定し、バックグラウンドのデータ アップロードに使用される帯域幅の量を制限できます。
初回同期は通常、同期グループあたり毎秒 20 ファイルという初回アップロード率に制限されます。 顧客は以下の数式で時間 (日数) を割り出し、すべてのデータを Azure にアップロードする時間を見積もりできます。
同期グループにファイルをアップロードするための時間 (日数) = (サーバー エンドポイントに含まれるオブジェクト数)/(20 * 60 * 60 * 24)
データを複数のサーバー エンドポイントと同期グループに分割すると、複数の同期グループに対してそれぞれ毎秒 20 項目の率で並列アップロードできるため、このデータ アップロードのスピードが上がります。 つまり、同期グループが 2 つであれば、毎秒 40 項目という率の組み合わせで実行されます。 完了までの合計時間は、同期するファイルが最も多い同期グループの見積もり時間になります。
名前空間のダウンロード スループット 新しいサーバー エンドポイントが既存の同期グループに追加されたときに、Azure File Sync エージェントではクラウド エンドポイントからファイルのコンテンツがダウンロードされません。 最初に完全な名前空間を同期した後、バックグラウンドでの呼び戻しをトリガーして、ファイル全体をダウンロードするか、またはクラウドの階層化が有効になっている場合は、サーバー エンドポイントに設定されているクラウド階層化ポリシーまでダウンロードします。
継続的な同期 | 詳細 |
---|---|
同期されるオブジェクトの数 | 125,000 オブジェクト (約 1 % のチャーン) |
データセットのサイズ | 50 GiB |
平均ファイル サイズ | ~ 500 KiB |
アップロードのスループット | 同期グループごとに 20 オブジェクト/秒 |
完全なダウンロードのスループット* | 60 オブジェクト/秒 |
\* クラウド階層化が有効になっている場合、ファイル データの一部のみがダウンロードされるため、パフォーマンスが向上する可能性があります。 Azure File Sync は、いずれかのエンドポイントで変更されたときにのみ、キャッシュされたファイルのデータをダウンロードします。 階層化されたファイルまたは新しく作成されたファイルについては、エージェントはファイル データをダウンロードせず、代わりにすべてのサーバー エンドポイントへの名前空間の同期のみを行います。 また、エージェントは、ユーザーがアクセスした階層化されたファイルの部分的なダウンロードもサポートします。
Note
上に示した値は、実際のパフォーマンスを示すものではありません。 実際のパフォーマンスは、このセクションの最初で説明したような複数の要因によって左右されます。
展開に対する一般的なガイドとして、いくつか点に留意する必要があります。
- オブジェクトのスループットは、サーバー上の同期グループの数にほぼ比例して増減します。 サーバー上の複数の同期グループにデータを分割するとスループットが向上しますが、サーバーとネットワークによっても制限されます。
- オブジェクトのスループットは、1 秒あたりの MiB のスループットに反比例します。 小さいファイルの場合、1 秒間に処理されるオブジェクト数に関するスループットは高くなりますが、1 秒間の MiB のスループットは低下します。 逆に、大きいファイルでは、1 秒間に処理されるオブジェクトの数は減りますが、1 秒間の MiB のスループットは高くなります。 MiB/秒のスループットは、Azure Files のスケール ターゲットによって制限されます。