Azure VMでスペック通りの性能が出ているのか、または、限界性能に達しているか調べる方法を紹介します。
マイクロソフトの公式ドキュメントの日本語版は、直訳が多くて理解するのが大変です。
Azureのメトリックの基本情報
特にディスク周りが難しいので、ディスクを中心に紹介します。
Azureディスクの種類
Azure マネージド ディスクには 4 種類のディスクがあります。
最大スループットと最大IOPSに差があります。当然、価格に差があります。
・Ultra ディスク
・Premium SSD (ソリッドステート ドライブ)
・Standard SSD (ソリッドステート ドライブ)
・Standard HDD (ハード ディスク ドライブ)
ディスクのパフォーマンス関連メトリック
Azure Portalの表示画面では、メトリック名が英語で表示されます。
マニュアルを日本語で読むとメトリック名の対応が難しいので英語版を見たほうが分かりやすいです。
丸い地球儀マークをクリックして英語に切り替えます。
以下の赤枠の部分が、Azure Portalで表示されるメトリック名です。
ディスクのスペックの見方
同じディスクの種類であれば、ディスクサイズが大きいほうが、IOPSとスループット性能が高くなります。
Premium SSD と Standard SSDの一覧です。
Azure Portalでのメトリックの見方
VM – メトリックから作成
VMごとにメトリックは保存されています。
調査対象のVMを選択し、左の「メトリック」を選択し、「メトリックの追加」でグラフを作成します。
OSディスクとデータディスク
OSディスク(OS Disk)とデータディスク(Data Disk)は別々に確保されています。
「OS Disk」と「Data Disk」
今回は、「Data Disk」を調査します。
メトリック名の入力フィールドにキーワードを入力すると、一致するメトリックが絞り込まて表示されます。
“Data Disk”まで入力すると「Data Disk」に関するメトリックに候補が絞り込まれます。
ディスク関連のメトリックの確認方法
今回は、Standard SSD E60 で検証。
ディスクサイズ: 8,192GiB (8TB)
最大IOPS : 2,000
最大スループット: 400MB/秒
IOPSを確認
メトリック名
・Data Disk read Operations/Sec
・Data Disk write Operations/Sec
このグラフだと、read operationsが 1.9K/秒=1900回/秒 で、
このディスク(E60)の最大IOPSは、2,000 なので、そろそろ限界。
ストレージ IO 使用率も確認します。(後述)
・Data Disk IOPS Consumed Percentage
・Data Disk Bandwidth Consumed Percentage
スループットを確認
1秒当たりのディスクの読み書きの処理量を確認します。
・Data Disk read Bytes/Sec
・Data Disk write Bytes/Sec
最大スループット 400MB/秒で、353MB/秒が出ているので、そろそろ限界かも。
アプリが遅延していないのであれば、限界までディスクの性能を使い切っていると言えますが他のメトリックも確認し、スペック不足かは総合的に判断しましょう。
ストレージ IO 使用率を確認
・Data Disk IOPS Consumed Percentage
・Data Disk Bandwidth Consumed Percentage
IOPS Consumed Percentage が 90%なので、そろそろ限界。
この状態が長く続くようであれば、これ以上はクライアントアプリから要求が来ても処理できないと予想。
その他確認すべきこと
他にも以下の値に異常がないかを見ておきます。
・データディスクのキューの深さ(Data Disk Queue Depth)
・CPU使用率も確認。以下のグラフ。まだ少し余裕がある。
その他のノウハウ
ディスクサイズの拡張
単一ディスクで構成されている場合、ディスクサイズの拡張は、Azure Portalから可能です。
E6(64GB) を E10(128GB)などへのサイズアップ。
ディスクに書き込まれているデータはそのまま使えます。一旦、VMを止める必要はあります。
不明(種類の変更/複数ディスクの拡張性/バースト)
・Standard SSDから Premium SSDへの変更。Portalからできそうな感じですが、未確認。
・複数のディスクで構成されている場合のディスクの拡張。 できないような気がします。
・今回は触れなかったが”バースト”の動き。【クラウド独自】
・ホスト キャッシュの動作
↓このあたりの情報を理解できれば、解決する可能性あり。
ディスクのベンチマークの実行(公式)
仮想マシンとディスクのパフォーマンス(公式)
最後に
Azure側で、ディスクIOの細かい情報が取れることを初めて知りました。
このレベルでデータが取れるのであれば結構使えますね。
基本的な考え方はオンプレのディスクの考え方(IOPSやスループットなど)と同じなので。