Azure プレミアムストレージを使用する仮想マシンの、データストレージ性能について

Azure 仮想マシンに接続されたデータディスクへのアクセスの性能は、通常、仮想マシン側の各種上限に依存します。

仮想マシンのサイズ
https://azure.microsoft.com/ja-jp/documentation/articles/virtual-machines-size-specs/

例えば、A1 であれば最大 2 つのデータディスクを追加できます。1つ当たりのディスクは 500 IOPS で、1 I/O あたり 8 KB のデータを処理します。仮想マシンに 2 本のディスクを接続し、ストレージプール機能によってストライプ構成を設定すれば 500 * 2 = 1000 IOPS の性能が得られることになります。理論上は。

性能に依存する因子はほかにもあります。

ご存知の通り、Azure 仮想マシンと外部データディスクの間はネットワーク通信です。オンプレミスのサーバーのようにローカルに接続され、内部バスで通信するわけではありません。よって、途中のネットワーク帯域が仮想マシンのディスク性能に大きく影響します。が、A シリーズには「仮想マシン」と「ストレージ間」のネットワーク帯域について言及はありません。すなわち、よく言う「ベストエフォート」ということになります。

もっと早いストレージがほしい!という要求にこたえるべく登場したのが プレミアムストレージ というものです。ハードディスクではなく SSD が使用されます。

プレミアムストレージは、DS シリーズまたは GS シリーズで使用することができ、OS 用のディスクにも適用することが可能です。

プレミアムディスクのメリットは SSD が使えるということだけではありません。

1つ目は I/O ごとのデータ転送量が 256 KB と大幅に向上しています。256KBのデータを1回で処理できるわけです。一方、DSやGSシリーズ以外では 8KB ですから、32 回の IO が発生します。

仮想マシンとデータストレージ間の通信にも QoS が適用されます。具体的な数字はサイズによってことなりますが、例えば、DS1 サイズの場合には 32MB/Sec となります。

ただし注意が必要です。

これらの性能を生かすには、プレミアムディスクのディスクタイプを理解しなければなりません。

image

プレミアムストレージに作成したディスクサイズによって、適用される性能値の上限が定義されているのです。例えば、100 GBのディスクをプレミアムストレージに作成すると、そのディスクには 500 IOPS、データ転送 100MB/Sec という性能が適用されます。

ここでDS1サイズの仮想マシンを作成し、2つのプレミアムディスクをマウントしたとしましょう。

仮想マシン DS1 サイズに適用されるストレージの性能は以下の通りです。最大2つのディスクを追加でき、最大のIOPSが 3200、ファイルアクセスの帯域幅が 32 MB/Secとなります。

image

ここで、「最大IOPS」という言葉が出てきました。これはなんでしょう?

はい、ご想像通り、IOPS のキャップ、上限です。

では、ここに 1023 GB のディスクを 2 本、追加したとします。1023 GB プレミアムディスクのディスクタイプは P30 です。ということは、ディスクあたり 5000 IOPS、2本ならばストライプセットで使用したとして 10000 IOPS です。ファイル通信帯域幅は 200 MB/Sec となります。

image

でも、アレ?って思いますよね。VM側の性能値との不一致が出てしまっているんです。

VM Premium Disk
IOPS 3200 5000*2
通信帯域幅 32MB/Sec 200MB/Sec

どちらが正解かというと、当然、値が小さいほうです。つまり、この場合は VM 側の性能値が適用されるわけです。プレミアムディスクとしては性能を保証しているものの、VM 側の制限によって、そこまで到達しない。。。と考えてください。

ただ、構成のパターンによっては、プレミアムディスクの性能のほうが VM を下回ることがあります。

。。。というように、プレミアムディスクの性能を存分に引き出す、VM 側の性能値がプレミアムディスクをギリギリ上回るような設計をするのがおすすめです。もちろんお金との相談になるんですけど。。。

そこで、こんな表を「作りかけて」みました。

みなさん、意味が分かりますか?見ずらい方は、こちらの EXEL ファイル でご覧ください。

さまざまな構成パターンで、VM側の性能と、プレミアムディスクの性能、どちらが生きるか?というリストです。面倒なのでDS4までしかやってません。つづきはみなさんでお願いします。あとGSシリーズも。

image