実践Xen

第2回 実測! 物理マシンと仮想マシンの性能差は?


仮想化ソフトウェアの「Xen」を用いてサーバ統合を実践していく手順を具体的に紹介します。第2回では、仮想化環境構築の際に頭を悩ませる「物理マシン」と「仮想マシン」のパフォーマンスの差について検証してみます(編集部)

住商情報システム株式会社 中嶋一樹(著)
VA Linux Systems Japan株式会社 高橋浩和(監修)
2007/11/22

 前回は、オープンソースで提供されている仮想化ソフトウェア「Xen」の基本的なセットアップ方法を一通り説明しました。これを踏まえて今回から、Xenを使った仮想化環境構築におけるサイジングに焦点を当てて解説していきたいと思います。

【関連記事】
http://www.atmarkit.co.jp/flinux/special/xen01/xen01.html
仮想化技術の大本命「Xen」を使ってみよう
〜 インストール & Debian環境構築編 〜 http://www.atmarkit.co.jp/flinux/special/xen02/xen01.html
仮想化技術の大本命「Xen」を使ってみよう 〜 Xen対応カスタムカーネル構築編 〜

物理マシンと仮想マシンの性能差

 一般に「仮想マシンの性能は物理マシンのそれよりも劣化する」といわれています。初期のころの仮想マシンは完全仮想化によって実現されていました。そのハードウェアエミュレーション処理にはかなりの負荷が掛かっていたという事実に基づくものです。

 これに対し、現在の準仮想化などの新しい技術を実装した仮想マシンの性能については、まだ具体的な数字があまり知られていないのが現状だと思います。そこでここでは、物理マシンと仮想マシンとでどれほど性能差があるのかを、負荷テストやサンプルアプリケーションのスループットを見ることで、明確にしたいと思います。

 テストには、まったく同じスペックのサーバ機を2台用意しました。一方のサーバ機にはネイティブなRed Hat Enterprise Linux 5(RHEL 5)をインストールしてそのまま稼働させます。もう一方には仮想化を有効にしたRHEL 5をインストールして、さらにその上で仮想マシンとしてRHEL 5を稼働させます。

図1
図1 テスト用の物理マシンと仮想マシンの構成

 テスト用サーバ機のスペックは以下のとおりです。

リソース スペック
CPU Quad Core Xeon x 2
RAM 16Gbytes
HDD SAS 15000rpm 72Gbyte RAID1 512Mbyte Read/Write Cache

 仮想マシンには、以下のように最大限のハードウェアリソースを割り当てています。

リソース スペック
仮想CPU数 8(サーバ機にはCPUが合計8コア搭載されていますので、
これをフルに活用できるように仮想CPUを8個割り当てています)
RAM 15.5Gbytes(RAM、HDDに関してはホストOSが使用する分を
差し引いたリソースを割り当てています)
HDD 60Gbytes

CPUの性能

 まずはCPU処理能力を見てみましょう。

 性能を計測するテストとして、MySQLのソースコードのコンパイルを行いました。以下のグラフは物理マシン、仮想マシンそれぞれでコンパイルに要した時間を表しています。

図2
図2 CPUの性能比較

 横軸の「1」と「8」はコンパイルを実行するときのスレッド数を表しています。マルチコア環境でも仮想マシンが最大限性能を引き出せるのかどうかを判断するために、1スレッドと8スレッドの両方でテストを行っています

注:GNU makeでは「-j」オプションによってスレッド数を指定することができます

 結果を見ると、仮想マシンは物理マシンに比べて約10%の性能劣化があることが分かります。これは1スレッドでも8スレッドでも同様です。従って、仮想マシンはマルチコアの性能は十二分に発揮できるが、総じて10%の性能劣化があるということになります。

ディスクの性能

 次に、ディスクの性能を見てみましょう。ディスクの性能は「dbench」というツールで計測します。dbenchはデータを連続的にディスクに書き込み、そのスループットを計測するシンプルなベンチマークツールです。

図3
図3 ディスク性能比較――仮想マシンが1台の場合

 スレッド数を増やすことによって負荷を上げていき、それに伴ってスループットがどのように推移するのかを確認することができます。スレッド数が少ないときには性能差はほとんどありませんが、スレッド数が4を超えたあたりから差が出始め、ピーク時で20%弱の性能劣化が見られます。

 仮想マシン数が1台の場合は上記のような結果となりますが、仮想マシンが2台になった場合はどうでしょうか。

 次のグラフでは仮想マシン数を2台にし、その2台の合計のスループットを示しています。物理マシンの数字は上記と同じです。このグラフでもう一度、物理マシンと仮想マシンの性能を比較してみます。

図4
図4 ディスク性能比較――仮想マシンが2台の場合

 今度は、仮想マシンの方がトータルのスループットで上回っています。つまり、仮想マシン1台当たりでピーク時にはスループットのピーク性能は若干劣るものの、複数の仮想マシンをトータルで見た場合にはハードウェアの性能を限界まで引き出すことができるということになります。

 1台の仮想マシンでSASディスクのような高性能なディスクの帯域を使い切るような環境はあまり考えられません。このため、仮想マシン1台当たりのピーク性能の劣化が、運用上問題となることは実質的にないでしょう。

コラム●SATAとSAS
現バージョンのXenの準仮想化I/Oドライバは、SATAディスクに最適化された作りになっています。従って、今回のハードウェア構成のSASディスクでは性能劣化が確認されていますが、SATAディスクであればこれほどの劣化は見られないはずです。今回のテストでは、機材の関係上、SATAディスクでの性能データを取得できませんでした。  

第1回へ 
1/2

Index
実践! Xenで実現するサーバ統合(2)
実測! 物理マシンと仮想マシンの性能差は?
Page 1
物理マシンと仮想マシンの性能差
 CPUの性能
 ディスクの性能
 コラム SATAとSAS
  Page 2
 ネットワークの性能
仮想ディスクのフォーマットによる性能差
 フォーマットによる性能差
 環境に応じてWrite Cacheを賢く使う

Linux Square全記事インデックス


 Linux Squareフォーラム 仮想化技術関連記事
連載:実践! Xenで実現するサーバ統合
有力な仮想化技術として注目を集めるようになった「Xen」。このXenを活用してサーバ統合を実践していく手順を具体的に紹介します
特集:サーバの仮想化技術とビジネス展開の可能性
jailからUML/VMwareまで
1台のマシンで複数のサーバを動かす「仮想化技術」。VMwareやUMLの登場により、WebサイトだけでなくOS自体を仮想化できるようになった
特集:仮想化技術のアプローチと実装
VMwareから要注目技術Xenまで

1台のサーバで複数の仮想マシンを実行する仮想化技術は、空間コストを引き下げる可能性を持つ。最新の仮想化技術を概観してみよう
特集:仮想OS「User Mode Linux」活用法
技術解説からカーネルカスタマイズまで
Linux上で仮想的なLinuxを動かすUMLの仕組みからインストール/管理方法やIPv6などに対応させるカーネル構築までを徹底解説
特集:仮想化技術の大本命「Xen」を使ってみよう
インストール & Debian環境構築編

高いパフォーマンスで本命の1つとなった仮想マシンモニタ「Xen」。日本語による情報が少ないXenを、実際に動かしてみよう
特集:仮想化技術の大本命「Xen」を使ってみよう
Xen対応カスタムカーネル構築編

Xen環境およびその上で動作する仮想マシン用カーネルを自分で構築しよう。これにより、自由にカスタマイズしたカーネルを利用できる
特集:IPv6、UML、セキュリティ機能の統合
全貌を現したLinuxカーネル2.6[第4章]

今回は、これまでに紹介し切れなかった機能を一気に紹介する。これを読めば、カーネル2.6の正式リリースが楽しみになるだろう
Linux Squareプロダクトレビュー VMware Workstation 4
PC/AT互換機エミュレータとして不動の地位を築いたVMware。その新バージョンがリリースされた。新機能を早速試してみよう
古くて新しい「サーバ仮想化技術」の行方
サーバ仮想化を実現するための技術がソフトウェア、ハードウェアの両面で出そろってきた。ハイパーバイザーのさらなる高速化に向けた動きを紹介する
Linux Squareフォーラム全記事インデックス

TechTargetジャパン

Linux Square フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

キャリアアップ



- PR -
@IT Sepcial

イベントカレンダー

PickUpイベント

- PR -
もっと見る
- PR -

お勧め求人情報

ホワイトペーパーTechTargetジャパン

@IT Sepcial
ソリューションFLASH