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

Azure Filesはフルマネージドでファイル共有の機能が提供されるサービスになります。

Azure Files とは(マイクロソフト社公式)

ファイル共有に関してはStandard V2、Premiumで提供されており共にSMBでのファイル共有になります。なお、Premium ではNFS ファイル共有もプレビューで提供されています。詳細はこちらを参照ください。

Azure ファイル共有を作成する(マイクロソフト社公式)

Premiumファイル共有ではデプロイしたサイズに応じてIOPSなどの性能値が異なります。
またPremiumファイル共有ではSMBファイル共有でマルチチャネルが提供されるようになりました。

SMB マルチチャネル(マイクロソフト社公式)

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

※SMBマルチチャネル自体はSMBのバージョン3.0から提供される機能です。

スポンサーリンク

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

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

Azure Filesのファイル共有についてはStandard V2とPremium で提供されています。スペックの違いもありますが課金面の違いがあったりします。

    • 課金面の違い
      • Standard はトランザクションに課金が発生するがPremium は発生しない
      • Premium はデプロイメント容量に対して課金が発生するが、Standard は実際に使用した量に対して課金が発生する

Standard とPremium のスペックの違いについてはこちらを参照ください。
価格の違いについてはこちらを参照ください。

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

大きな違いの1つにPremium ファイル共有はデプロイメントした容量に応じてIOPS値が異なります。
詳細はこちらに記載の計算式の通りになります。今回試した場合容量だとこのくらい違います。Premium ファイル共有ではバーストが可能です。

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

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

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

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

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

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

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

SMBマルチチャネル設定

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

完了するとSMBマルチチャネルが有効になっている事が確認出来ます。

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

テスト用のファイル共有を作成します。

ファイル共有作成

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

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

今回はWindows2022上にDISKPDを入れて確認してみました。
DISKPDの手順についてはこちらの記事を参照ください。(DISKSPD を使用してWindows上でIOPSを測定するの項を参照ください。)
WindowsOS上からのファイル共有マウントについてはこちらの記事を参照ください。

今回は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値が低くなっています。

それについてはこちらに記載があり測定条件によります。
当たり前なのですがマルチチャネルなので単一VMから1つのファイルを書き込む場合などでは、SMBマルチチャネルは全く生かせないという事になります。