Azure 管理ディスクでベンチマーク測定やってみた

Azure仮想マシンに接続して使う管理ディスクが実際にどれだけのパフォーマンスを出せるのか気になったので調べてみました。

まず、Azure管理ディスクにはStandard HDD,Standard SSD,Premium SSDの3種類があります。(最近Ultra SSDというのがプレビューで公開されましたがここではスルーします。)
以下がそれぞれの価格とスペックの表です。



価格はもちろんスペック(IOPS、スループット)についても見比べると違いが一目瞭然ですが今回は実際の値が知りたいので一旦無視します。
上記3種類の管理ディスクをそれぞれ1024GiBでデプロイしてCrystalDiskMarkでベンチマークを実行してみました。

検証環境

・リージョン:東日本
・サイズ:D8s v3(vCPU:8 RAM:32GiB)
→スペックが低いものだとIOPS上限が低く設定されておりディスクのパフォーマンスを活かしきれません。
・OS:Windows Server 2016 Datacenter
・ディスク:各1TiB(ホストキャッシュ無効)

ベンチマークで利用したソフト

・CrystalDiskMark 6.0.2

結果

Sequential Read:マルチキュー、スレッドによるシーケンシャルリード/ライトテスト
Sequential Write:マルチキュー、スレッドによるシーケンシャルリード/ライトテスト
Random Read:マルチキュー、スレッドによるランダムリード/ライトテスト
Random Write:マルチキュー、スレッドによるランダムリード/ライトテスト

色々項目がありますが大きな単位での読み書きはSequentialの数値、小さな単位での読み書き(DBアクセスなど)はRandomの数値が目安になります。

カタログ上で同じサイズでもディスク種類ごとにIOPS,最大スループット(速度)には大きく差があるように共に数値上でも同様の結果となりました。むしろ一部は計測結果のほうが若干高い数値が出ています。
(疑ってたわけじゃないですがカタログスペックは信用してよさそうです。)
サイズだけで選んでしまうと速度やIOPSが出ずにアプリケーションの実行に影響が出たりするのでそれぞれのスペックについては事前に確認が必要です。

Premium SSDについては上記のような同一サイズでのパフォーマンスの優位性以外にもシングルインスタンスでのSLAサポート、トランザクションに対するコストが掛からないなどのメリットもあります。
また、実際にAzureで仮想マシンを作成するときはサイズが対応していれば既定でPremium SSDが選択されるのでMicrosoftとしても推しのプランなのかなと思います。

個人的には開発環境ではStandardの2種類、本番環境ではPremuim SSDを利用するのがベターかなと思います。
とはいえディスクのアタッチ画面からディスク種類を自由に変更できるので運用を通して最適なものを選択してくといいかと思います。

参考リンク:Managed Disks
https://azure.microsoft.com/ja-jp/pricing/details/managed-disks/