Azure FilesのSMBファイル共有でパフォーマンスを測定してみた

Azure,Storage account

Azure Filesは、フルマネージドでファイル共有機能を提供するサービスです。

Azure Files とは

ファイル共有はStandard V2とPremiumで提供されています。
どちらもSMBによるファイル共有が可能です。
Premiumファイル共有はSSDベースで提供されており、デプロイした共有ストレージのサイズに応じてIOPSなどの性能値が異なります。

今回はAzure FilesでPremiumファイル共有を作成し、IOPSを測定しました。
併せてSMBマルチチャネルを利用した動作確認も実施しました。

※PremiumではNFSファイル共有もプレビューで提供されています。

NFS Azure ファイル共有

※Premiumファイル共有では、SMBファイル共有でマルチチャネルが提供されるようになりました。

SMB マルチチャネル

スポンサーリンク

 Azure FilesのPremium ファイル共有とStandard V2の違いについて

Standard V2とPremium との違いについて

Azure Filesのファイル共有は、Standard V2とPremiumで提供されています。
パフォーマンス要件などのスペックの違いや、課金体系にも違いがあります。

課金面の違いとして、Standardはトランザクションごとに課金が発生しますが、Premiumでは発生しません。
Premiumはデプロイした容量に対して課金が発生しますが、Standardは実際に使用した容量に対して課金が発生します。

StandardとPremiumのスペックの違いについては、こちらに記載があります。

Azure Files のスケーラビリティとパフォーマンスのターゲット

価格の違いについては、こちらに記載があります。

Azure Files の価格

Premiumではデプロイメントした容量に応じてIOPS値が異なる

大きな違いの1つとして、Premiumファイル共有はデプロイした容量に応じてIOPS値が異なります。

Azure Files の課金モデルについて

今回試した容量の場合、IOPS値にはこのくらいの違いがあります。
Premiumファイル共有ではバーストも可能です。

デプロイメントした容量 IOPS値(バースト時のIOPS値) Azure Portalの画面
100GB 500(4000)
10000GB 10400(30000)

Standard ではIOPS値は固定だが大きなファイル共有の有効無効によってIOPS値が異なる

また、Standardは基本的にIOPS値が固定ですが、大きなファイル共有を有効にするか無効にするかによってIOPS値が異なります。
IOPS値だけでなく、最大容量も異なります。

大きなファイル共有 IOPS値  
有効 1000
無効 20000

—広告—

Premium ファイル共有で性能(IOPS値)を測定してみた

SMBマルチチャネルのチャネルの設定

SMBマルチチャネルの設定は、ファイル共有の設定内で実施します。

SMBマルチチャネル設定

データストレージ内のファイル共有を選択します。
SMBマルチチャネルという項目があるので、無効となっている部分を選択します。
SMBマルチチャネルの設定画面が表示されるので、SMBマルチチャネルを有効にして保存します。

完了すると、SMBマルチチャネルが有効になっていることを確認できます。

Azure Filesでファイル共有を作成する

ファイル共有を新規作成します。

ファイル共有を作成

ファイル共有を選択します。
新しいファイル共有の作成画面が表示されるので、プロビジョニングするサイズを入力します。
今回は100GBとします。
作成を選択すると、ファイル共有が作成されます。

DISKSPDでファイル共有領域のIOPS値を測定してみた

Windows Server 2022上でDISKSPDを使用して、IOPS値を確認しました。

DISKSPDの使用方法については、こちらで紹介しています。

Windows Serverからファイル共有をマウントする方法については、こちらで紹介しています。

今回はXドライブにファイル共有領域をマウントし、以下のコマンドで測定しました。

PS C:\DiskSpd\x86> .\diskspd -t2 -o32 -b4k -r4k -w25 -d120 -Sh -D -L -c1G X:\IO.dat

測定結果です。

サイズ マルチチャネル IOPS測定値
100GB 有り 4056.94
100GB 無し 3886.21

100GBでデプロイした場合のIOPS値は500(バースト時は4000)となっており、バースト時の数値が実測値として得られていることが分かります。

ファイル共有領域を拡張する

ファイル共有領域のプロビジョニング済みサイズを変更します。

ファイル共有領域の拡張
拡張するファイル共有領域で、サイズとパフォーマンスの変更を選択します。

プロビジョニング済みの容量を10000とし、Saveを選択して変更を反映させます。

※なお、サイズダウンには24時間に1回という制限があります。

ファイル共有領域拡張後にIOPSを測定してみた

先ほどと同様にXドライブにファイル共有領域をマウントし、以下のコマンドで測定します。

PS C:\DiskSpd\x86> .\diskspd -t2 -o32 -b4k -r4k -w25 -d120 -Sh -D -L -c1G X:\IO.dat

測定結果です。

サイズ マルチチャネル IOPS測定値
10000GB 有り 13644.23
10000GB 無し 18428.80

10000GBでデプロイした場合のIOPS値は10400(バースト時は30000)となっています。
バースト時の値には達していないものの、拡張したことが反映された数値が得られています。

SMBマルチチャネルで遅くなることがある?

なぜか、SMBマルチチャネル有りの方がIOPS値が低くなっています。
公式サイトにも記載がありますが、I/Oサイズが小さく、単一のファイルを書き込む場合などでは、SMBマルチチャネルを無効にした方がよいケースもあります。

パフォーマンスの比較

—広告—

最後に

今回はAzure FilesでPremiumファイル共有を作成し、Windows ServerからマウントしてIOPSを測定しました。
ファイル共有のサイズに応じてIOPS値が変化することを確認できました。
また、SMBマルチチャネルの効果も、利用方法によって異なることが分かりました。

引き続き、いろいろ試してみたいと思います。

スポンサーリンク