最近のプロセッサは,単なる処理性能向上にとどまらず,マルチコア化や仮想化技術の搭載など,高性能・多機能化が進んでいる。同時に,仮想化ソフトウエアも充実してきており,市場での仮想化に対する需要は益々高まっている。MicrosoftからはVirtual Server 2005が提供され,続いて機能が追加/強化されている「Virtual Server 2005 R2」が出荷されている。例えば,ホストOSとしてx64 EditionとWindows XP SP2への対応,仮想マシンのF6ディスク(SCSIディスク)対応,iSCSIへの対応によるVirtual Serverホスト・クラスタ,処理性能の改良などだ。

 ここでは,Virtual Server 2005 R2の処理性能の改良点に焦点を当て,従来版のVirtual Server 2005とVirtual Server 2005 R2の性能テストを実施した。その結果,同じハードウエア構成で,R2は従来版の2倍の処理性能が出た。Virtual Server 2005 R2の処理性能を向上させる指針も紹介する。なお,Virtual Server 2005 R2の主要機能については次回以降で紹介する予定だ。

R2のアーキテクチャ

 Virtual ServerをホストOSにインストールするとVirtual ServerのサービスとVMM(Virtual Machine Monitor)が追加される(図1)。仮想マシンからの命令やI/O要求は,一度ホストOSのスケジューラやVMMを介して,物理的なハードウエアにアクセスすることになる。この仕組みは,VMware Serverによく似ている。

図1●Virtual Server 2005 R2のアーキテクチャ
図1●Virtual Server 2005 R2のアーキテクチャ

 Virtual Serverの利点は,その導入と管理が容易なことである。Virtual Serverは,Windows Server 2003やWindows XP SP2に,アプリケーション・ソフトとしてインストールできる。また,Virtual Serverの管理は,Internet Explorerを使用して管理Web画面で行う。そのため,Virtual Serverを利用するには,Internet Information Services(IIS)が必要である。

 Virtual Serverは,ホストOS,仮想化ソフトウエア,管理ソフトウエアのすべてがマイクロソフトから提供されているため,それらの親和性が高い。複数のVirtual Serverを利用する場合は,Microsoft Operations Manager 2005(MOM)で一元管理可能である。

R2で処理性能が向上

 「マイクロソフトによると,Virtual Server 2005 R2はVirtual Server 2005に比べて,CPU使用率が最大50%改善したという。また,メモリー・アクセス性能も65%向上したという。これは,「シャドウ・ページ・テーブル(Shadow Page Table:SPT)」の改善によるところが大きい。

 SPTとは,ゲストの仮想アドレスと,ホストの物理アドレスを直接関連づけるアドレス変換テーブルである。SPTを使うことで,Virtual Serverでは,仮想マシンごとに独立したメモリー領域を割り当て,ページを共有しないようにしている。

 Virtual Server 2005 R2上の仮想マシンからは,ホストの物理アドレスに直接アクセスできない(図2)。本来であれば,仮想マシン上のアプリケーションがアクセスするメモリー・アドレスは次の順に変換される。ゲストの仮想アドレスは,まずゲストの物理アドレスに変換される。このアドレスは,ホストの物理アドレスに,もう一度変換される。シャドウ・ページ・テーブルを使うと,アドレス変換が一度だけで済むようになり,疑似的に仮想マシンから直接物理メモリーにアクセスできるようになる(図3)。

図2●通常のゲストとホストのメモリー・マッピング
図2●通常のゲストとホストのメモリー・マッピング

図3●Virtual Server 2005 R2の、シャドウ・ページ・テーブルを使ったゲストとホストのメモリー・マッピング
図3●Virtual Server 2005 R2の、シャドウ・ページ・テーブルを使ったゲストとホストのメモリー・マッピング
[画像のクリックで拡大表示]

R2をテスト

 では,実際に実施したパフォーマンス・テストの結果について解説する。テスト環境全体のシステム構成は図4の通りである。ハードウエアの仕様は表1の通りである。ホストOSおよびゲストOSは,どちらもWindows Server 2003 R2 Enterprise Editionである。仮想マシン(ゲストOS)上では,アプリケーション・ソフトとしてSQL Server 2005 SP1と,ASP.NET2.0によって開発したeCommerceサイトを動かした。

図4●テスト環境全体的のシステム構成
図4●テスト環境全体的のシステム構成
[画像のクリックで拡大表示]

表1●テストに使用したハードウェアの仕様
表1●テストに使用したハードウェアの仕様
[画像のクリックで拡大表示]

 2台の負荷対象サーバーに,Virtual Server 2005とVirtual Server 2005 R2をそれぞれインストールし,仮想マシンをそれぞれ4台作成した。各仮想マシンには512Mバイトのメモリーを割り当てる。各サーバーには,仮想マシン用のネットワーク・インターフェース・カード(NIC)を2枚用意し,各仮想マシンが均等に使用するよう振り分けた。つまり,1枚のNICを2台の仮想マシンが共有することになる。

 仮想マシンの仮想ディスク・インターフェースは,Virtual Server 2005では既定のIDE,Virtual Server 2005では新機能であるSCSI(F6)にした。仮想ハードディスク容量は20Gバイトにし,最初から全容量を割り当てた。Virtual Serverの仮想ディスクは,割り当てた全容量を最初から確保するタイプと,仮想マシン上で使った分だけ確保するタイプが選べる。最初から全容量を割り当てた方が処理性能は高い。