仮想化ソフト「KVM(Kernel-based Virtual Machine)」は、処理性能が高い、つまり仮想化に伴うオーバーヘッドが小さいといわれている。Linuxカーネルに組み込まれていることに加え、Intel VT-xおよびAMD-Vなど最近のCPUが持つハードウエアによる仮想化支援機構を活用しているからだ。そこで、KVMの実力を見るために、六つの検証を実施した。

 検証(1)では、データベースサーバーとして使った場合の処理性能を測定し、KVMのオーバーヘッドを調べた(図1)。その結果、オーバーヘッドは最大60%近くあることが分かった。この値は一見、大きく思えるが、仮想化ソフトの中でどのくらいのレベルなのかを判別するため、検証(2)ではKVMと同じくオープンソースの仮想化ソフトであるXenと比較した。以降の検証(3)~(6)では、KVMのオーバーヘッドがどのような処理で生じるのか探るために、CPU、メモリー、ディスク、ネットワークといった要素テストを行った。

図1●KVMのホスト環境(物理サーバー相当)とゲスト環境(仮想サーバー)の性能
図1●KVMのホスト環境(物理サーバー相当)とゲスト環境(仮想サーバー)の性能
MySQLを用いて、SELECT(左)とINSERT(右)のデータベース処理性能を調べた
[画像のクリックで拡大表示]
図2●検証の概要と検証環境
図2●検証の概要と検証環境
[画像のクリックで拡大表示]

 検証環境、および六つの検証の概要は図2の通りである。KVMは、レッドハットのLinuxディストリビューションの新版である「Red Hat Enterprise Linux 6」(RHEL6)に含まれるもの(Linuxカーネル2.6.32-71.el6に組み込まれたカーネルモジュール)を用いた。サーバー機はデルのPowerEdge R810で、8コアのIntel XeonプロセッサL7555を4基、128Gバイトのメインメモリーを搭載する。仮想化してサーバー統合を図る用途に向く機種といえる。

 では、検証(1)から順番に結果を報告しよう。