仮想マシンのDISK I/Oパフォーマンス

| コメント(0) | トラックバック(0) このエントリーを含むはてなブックマーク

マイクロソフトのバーチャルハードディスク(VHD)を、最近さわることがあった。そういえば昔仮想マシンのDISK I/Oパフォーマンスを計測したことがあったなということで、再度計測して情報を転記しておく。

NEC Express5800/110Gd に CPU Q6600(Quad) / Mem 8G / WDの1TのHDDを4本乗せたへなちょこ仮想環境用マシンがある。そのマシンに Hyper-V を入れ、Parent 側(ホスト側)とChild側(ゲスト側)のDiskパフォーマンスを測った。なお、RAIDなどの環境は全くない状況である。

環境について...

Hyper-V 環境には沢山の仮想マシンを導入している。どれくらいか?といわれると、こんな感じ。一応モザイク付きであるが、以下のような状況。

20091104_VMList.png

なお、この仮想マシンのVHDは全て固定サイズとしてある。(パフォーマンス重視の為)
さらに、このVHDの断片化は全て解消済みである。

20091104_HDDFragments.png

ちょっとDISKに断片的な余白があるのは、ご愛嬌。

パフォーマンス

CrystalMarkを用いてディスクのパフォーマンスを計測してみる

  1. ペアレント(ホスト)OS上の測定
    20091104_CMonHV.png
  2. チャイルド(ゲスト)OS上の測定(Vista)

    20091104_CMonVista.png
  3. チャイルド(ゲスト)OS上の測定(Windows7)

    20091104_CMonWin7.png

なお、チャイルド(ゲスト)OS上のデフラグは全くしていない

おわりに

チャイルドOS上であろうが、ペアレントOSの15%減程度のパフォーマンスが出ている事が分かる。このくらいのパフォーマンスが出ていると、十分な速度を体感できると思う。

ただ、複数のチャイルドマシンが同時にDISK I/Oを酷使すると、当然体感速度は低下する。

備考

実は、この断片化を起こさない状況を維持するために、ちょっとした努力をしている。基本的にVHDを格納するパーティションは単一とし、その他のファイルを全く配置していない。また各VHDは固定サイズとしてある。さらに、VHDを作成する際には、別ディスクで生成し、そのVHDファイルを FireFileCopy等断片化を抑えてコピーするコピーツールを使って該当フォルダへコピーしている。この作業は、最初にVHD格納パーティーションを作成する際に、行ってしまい、実際に仮想マシンを作成する際には、既に作成されているVHDをリネームして使用している。

そうすると、何故上記のように歯抜けが起きているか疑問に思われると思う。じつはWindows XPなどの小さ目のマシンから Vista や 7 のようなちょっと大きさが大きいマシンへ移行しつつあるからである。

そのサイズ変更過程で断片化が大量に発生し、一時期以下のようなくらいにまで断片化が進んだことがある。その後、マシンを触らない休息日に一気にデフラグをした。

20091102_HDDFragments.png

 

トラックバック(0)

トラックバックURL: http://www.m-tea.info/mt-tb.cgi/13

コメントする

あわせて読みたいブログパーツ

このブログ記事について

このページは、k1ha410が2009年11月 4日 16:15に書いたブログ記事です。

ひとつ前のブログ記事は「VMware Player 3.0 簡易インストール Windows 7 編」です。

次のブログ記事は「IronRuby と MRIの連携(dRuby)編」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。