概要
米VMwareのサーバー仮想化ソフトが実サーバーと比べてオーバーヘッドなく利用できるか,サーバーのシステム・リソースをどれくらい効率的に利用しているのかを検証した。仮想化した環境では,割り当てたCPUの数にもよるが,最大で実サーバーの約99%の処理性能を出すことが分かった。

 サーバー仮想化ソフトとは,CPU,メモリーといったサーバー・マシン(以下,実サーバー)のシステム・リソースを,OSやアプリケーションに柔軟に割り当てるソフト。実サーバー上に仮想的なハードウエア(仮想マシン)を作成し,その仮想マシン上で,独立したOSをアプリケーションとともに動作させることができる。

 サーバー仮想化ソフトでは,1台のサーバー上に複数の仮想マシンを作成できる。この特徴を生かすと,サーバー集約が可能になる。サーバーのシステム・リソースを,複数のOSやアプリケーションで共有することで,サーバーの台数を削減できる。

 サーバー仮想化ソフトを使えば,これまで利用してきた業務システムのサーバー・リプレースも容易になる。サーバー仮想化ソフトを新しいサーバーに搭載することで,従来使っていたOSの上で業務システムを稼働できる場合があるからだ。

 しかし,実際に導入するとなると,性能面で懸念を持つ人は多いだろう。そこで,「仮想化に伴うオーバーヘッドはどれくらいあるか」「サーバー・リソースが効率的に利用されているか」について検証した。

代表的なサーバー仮想化ソフトを検証

 今回,検証したのは,PCサーバーにおける仮想化ソフトとしてよく使われてきている米VMwareの2製品。一つはWindowsやLinuxといった「ホストOS」の上で動作するミドルウエア・タイプの「VMware Server 3.0(旧GSX Server)」(図1左上)で,もう一つは専用OSと仮想化ソフトが一体化しており,サーバー・ハードに直接インストールして動作する「VMware ESX Server 3.0」(図1右上)である。

図1●仮想化ソフト「VMware」の仕組みと検証結果の概要
図1●仮想化ソフト「VMware」の仕組みと検証結果の概要
Webグループウエアを同時利用する仮想ユーザー数が30~40程度までは,仮想マシンの処理性能が,4CPUを搭載し,ハイパースレッディングで8個分のCPUを利用できる実サーバーとほぼ同等だった。仕組みの異なる2種類の製品「VMware Server」「VMware ESX Server」それぞれに,WindowsゲストOSとサイボウズのWebグループウエア・ソフト「Office 6」を搭載して,負荷テストを実施。11画面にわたる一連の処理を1トランザクションと定義して,その処理回数を測定した
[画像のクリックで拡大表示]

 いずれの製品でも,一つの仮想マシンにCPUリソースを1個単位で複数割り当てられる。仮想マシンに割り当てたCPUリソースのことを仮想CPUと呼ぶ。VMware Serverでは1仮想マシン当たり最大2個を,VMware ESX Serverでは1仮想マシン当たり4個までを,それぞれ割り当てられる。

 検証作業のうち,仮想化に伴うオーバーヘッドのテストでは,かなり高い負荷まで,実サーバーに迫る処理性能を維持できることが分かった。図1下の二つのグラフは,VMware ServerとVMware ESX Serverそれぞれで,サイボウズのWebグループウエア「Office 6」を搭載して負荷テストを実施したときの結果を,実サーバーで動くOffice 6と比較したものである。Office 6を同時利用する仮想ユーザー数が30~40ユーザーまでは,実サーバーとほぼ同等の性能を示した。例えば,仮想CPUが2個のVMware Serverでは,10ユーザーのときに実サーバーの98.9%,30ユーザーのときも95.9%という処理性能が出た。VMware ESX Serverでも,仮想CPUが4個のとき,10ユーザーで98.3%,40ユーザーでも92.3%という高い処理性能を示した。

 それ以上の仮想ユーザー数では性能が頭打ちになったものの,仮想CPUの数をさらに増やせれば実サーバーに近づいていく可能性がある。テスト方法など詳しくは後述する。

4種類の環境で四つの検証を実施

 今回作成した検証環境と実施した検証内容をまとめて,図2に示す。4種類のシステム環境を用意し,四つの検証を実施した。

図2●検証環境/内容の概要
図2●検証環境/内容の概要
仮想化ソフトを使ったときに,「仮想化に伴うオーバーヘッドはどれくらいあるか」「サーバー・リソースが効率的に利用されているか」の2点を調べることを検証の目的にした
[画像のクリックで拡大表示]

 用意した環境は,(1)WindowsをホストOSとするVMware Server,(2)LinuxをホストOSとするVMware Server,(3)VMware ESX Server,(4)仮想化していない実サーバーである。(1)~(3)では,WindowsゲストOSを,(4)ではWindowsを直接稼働させて,「CPU,メモリーの利用効率」と「計算処理のパフォーマンス」「ネットワークのスループット」「Webアプリケーションのパフォーマンス」の四つについて検証した。

 テストは,ソフトクリエイトの黒瀬泰広氏,鈴村聖一氏,本吉城太郎氏に依頼した。実サーバーには,インテルXeonプロセッサを4個搭載したものを利用した。ハイパースレッディング技術で8個分のCPUを利用できる。日本ヒューレット・パッカードから借りた。

 それではこれから,四つの検証の結果を順に見ていくことにしよう。