VMware ゲストOSのパーティションアライメント調整したときの速度差は

先日の日記、VMware 仮想機のパフォーマンス劣化を防ぐための Partition Alignment に書いたような話ですが、パーティションアライメント調整をやってみようと思い、Windows2003R2 をインストールした領域を用意して試してみました。

インストール直後の msinfo32 の画面です。パーティション開始オフセットが 32,256 ですから 4,096 の整数倍になっておらず、下位の層と合っていません。

VMware vCenter Converter Standalone 5.0.1 を使って、このゲストOSをそっくりコピーしてみました。ただし、コピー時のオプションでボリューム選択をし、「最適化パーティションレイアウトの作成」を選択してある状態です。

コピーしたゲストOSを起動したあとの msinfo32 の画面です。パーティション開始オフセットが 1,048,576 ですから 4,096 の整数倍になっておりよい感じです。

もちろん後ろにずらしたわけですから、つじつまあわせようとしてくれたのかほんの少しサイズが変わっています。ディスクのサイズとしては減ってるのにパーティションサイズは増えてます。なんなんだろう。余ってたところを端っこまでぴっちり確保できたのかな。

このような感じで V2V すればアライメント調整が可能です。

で、調整してみて実際どのくらい違うのか?という話ですが、正直最近のストレージ装置はとても賢いのでこの辺のことはわりと吸収してくれてしまうようです。あんまり差は出ません。調整前のVMと調整後のVMでそれぞれ何度かベンチ取ってみました。

こちらが調整前。

こちらが調整後。

大きなサイズのシーケンシャルリードライトは、余分に読み書きするブロックなど端っこだけですから誤差みたいなものです。4KB の Write だけはきちっと差が出ています。揃えた方が少し良い値が出ます。どのようなアプリケーションが動くか(どのようなIOが発生するか)によって差が感じられるかどうか違ってきそうですね。

今回ストレージ側は全く手を入れてなくて(1GbEなiSCSI接続の箱です)VM側だけでああだこうだやってみたところですがこんな感じでした。