📀

Azure Managed DiskのPerformance Plus機能を試す

2023/03/31に公開

はじめに

2023/3に「Performance Plus」というAzureのDisk Storageの性能上限を向上させるオプションがパブリックプレビューとなりました。
https://azure.microsoft.com/ja-jp/updates/public-preview-performance-plus-for-azure-disk-storage/

無料で性能向上が可能、ということで、プレビューと言うことを除けば使わない手はありません。ということで今回は仕様確認を兼ねえて機能を試してみました。

Performance Plusの仕様

公式ドキュメントは下記の通り。
https://learn.microsoft.com/ja-jp/azure/virtual-machines/disks-enable-performance?tabs=azure-cli

ポイントとなる仕様を抜き出します。

  • 513GiB以上のPremium SSD / Standard SSD / Standard HDDで使用可能
  • Performance Plusオプションはディスクごとに有効化できる
  • オプションを有効化しても追加料金はかからない
  • Portalから有効化することはできず、Azure PowershellまたはAzure CLIを使用する
  • 既存のディスクでオプションを有効化することはできず、新規に「有効」なディスクを作成する必要がある

引き出せる性能上限は別ドキュメントに記載があります。
https://learn.microsoft.com/ja-jp/azure/virtual-machines/disks-scalability-targets

構成作業検証

公式ドキュメントにあるSLI/Powershellのスクリプトを確認すると、いくつか誤りがありました。

Azure CLI

※ドキュメントから抜粋

myRG=yourResourceGroupName
myDisk=yourDiskName
myVM=yourVMName
region=desiredRegion
# Valid values are Premium_LRS, Premium_ZRS, StandardSSD_LRS, StandardSSD_ZRS, or Standard_LRS
sku=desiredSKU
#Size must be 513 or larger
size=513
az disk create -g $myRG -n $myDisk --size-gb $size --sku $sku -l $region –performance-plus true 

az vm disk attach --vm-name $myVM --name $myDisk --resource-group $myRG

一番のポイントとなるオプションの指定(ハイフンの数)が間違っていました。ご注意ください。

az disk create -g $myRG -n $myDisk --size-gb $size --sku $sku -l $region –performance-plus true 
  • 正しい
az disk create -g $myRG -n $myDisk --size-gb $size --sku $sku -l $region --performance-plus true 

Azure Powershell

ここでは割愛しますが、「VM名」を指定するのにVMにアタッチするコマンドが抜けている…
ディスクが作成されるだけで終わってしまいますので、アタッチを忘れないようにしましょう。

作成結果

作成されたディスクをVMにアタッチした結果が下記の通りです。

Performance Plusオプションが有効な「disk-pp」と、オプションが無効な「disk-normal」の2つを構成します。
「最大IOPS」や「最大スループット」の値を見ると、1つ目のディスクの方が高性能になっていることが確認できます。

性能検証

比較できるように、以前PremiumSSD v2の検証を行ったときと基本的に同条件にします。
https://zenn.dev/tomot/articles/582df6e8f13915

構成

以前と変えている場所には★マークを付けています。

  • 場所:Japan Eastリージョン★
    Performance Plusオプションは東日本リージョンでも使えました
  • VM:Standard D8s v3 (8 vcpu 数、32 GiB メモリ)★
    ディスクの性能を引き出すために、VMサイズを上げます
  • OS: Windows Server 2016
  • Disk構成:OS Disk(対象外)
  • Premium SSD LRS 1024GiB Performance Plusオプションあり★
    今回のテスト対象
  • Premium SSD LRS 1024GiB Performance Plusオプションなし★
    今回の比較対象
    ホストキャッシュ:なし

テスト内容

CrystalDiskMarkを使用してベンチマークテストを行います。
デフォルト設定のまま動かします。(テスト回数だけ、減らして1回にします)

テスト結果

各ディスクに対する、スループット・IOPS・レイテンシを見ていきます。着目すべき結果に赤枠を付けています。

オプション有り

オプション無し

結果考察

各項目の意味を考えます。

スループット

オプション無しはVMサイズの性能上限通り(200MB/s)なのに対し、
オプション有りはオプションの効果(300MB/s)が表れています。
分かりやすく効果が出ています。

IOPS

オプション無しはVMサイズの性能上限通り(5000 IOPS)なのに対し、
オプション有りはオプションの効果(8000 IOPS)が表れています。
こちらも分かりやすく効果が出ています。

レイテンシ

レイテンシはオプション有無に関わらず「大差ない」と言うことが分かります。
以前、検証を行った「Premium SSD v1」の結果とも変わりません。これはHWレイヤの機器構成の世代による上限なのだと想定されます。

以上から、PerformancePlusオプションは「レイテンシには影響を与えず、スループット/IOPSに対してかかっていた制限を少し解放する」という機能なのだと想定されます。

おわりに

今回は「Performance Plus」オプションを検証しました。
ディスクサイズが513GiB以上の場合有効にできる機能で(Azureのマネージドディスクのメニューで言ったら実質1024GiB以上になるわけですが)、しっかりと効果がありました。無償で使える機能ですので、有効にしない選択肢は無いのではないでしょうか。

ディスクの再作成が必要になるなど注意が必要な点もありますが、GAされ次第すぐにでも使っていいオプションだと思います。
札束で叩くのではなく、値段変わらずで性能向上するのはとても嬉しいですね。

Discussion