さくらインターネットの「専用サーバ」で始めよう、XenServerによる仮想サーバー環境構築入門 5ページ

「専用サーバ」の性能は?

 XenServerを使用した仮想化の場合、仮想化のためのオーバーヘッドが発生する。そのため、仮想化を使用せずに直接サーバー上でシステムを運用する場合と比較して多少の性能低下が発生すると考えられる。そこでXenServer上にCentOS 5.5(32ビット版)をインストールし、I/O関連を中心に簡単にベンチマークテストを実行して処理能力をチェックした。

 なお、今回テストに使用した環境は初期費用がかからない「アドバンスド」プランの「Fujitsu RX100 S6 QuadCore Xeonモデル」(月額費用は26,800円)で、ネットワーク環境はアップグレードオプションとなる「10M専有回線」(月額10,500円)を使用した。サーバースペックは表5のとおりとなる。

表5 テストに使用したサーバーのスペック
構成要素 スペック
モデル名 Fujitsu RX100 S6 QuadCore Xeon
CPU Xeon X3450(2.66GHz、クアッドコア)
メモリ 4GB
HDD 1TB(RAID1)
ネットワーク 10M専有回線

 また、CentOS 5.5をインストールした仮想マシンは次の表6のような構成で作成している(表6)。

表6 CentOS 5.5インストールのために作成した仮想マシンの設定
構成要素 スペック
仮想CPU数 2
メモリ 1024MB
ストレージ容量 8GB

ネットワーク環境のチェック

 ネットワーク環境のベンチマークには「nuttcp」というベンチマークツールを用いた。nuttcpはサーバー/クライアント間でデータを送受信し、その速度を測定するツールだ。詳細については「ネットワークのベンチマーク・ツールを試す – nepim、LMbench、nuttcp」という記事で紹介しているので、使い方などはそちらを参照してほしい。

 テスト結果であるが、上り/下りともに9Mbps前後の転送速度が達成できている(リスト2)。ネットワークについては、仮想化によるオーバーヘッドは少ないと考えてよいだろう。

リスト2 nuttcpによるネットワーク環境のベンチマークテスト結果

$ nuttcp -i1 -B 59.106.2.34    # サーバーからクライアントへ(下り)の通信速度を計測
    1.0625 MB /   1.00 sec =    8.8812 Mbps     0 retrans
    1.0625 MB /   1.00 sec =    8.9120 Mbps     0 retrans
    1.1875 MB /   1.00 sec =    9.9609 Mbps     0 retrans
    1.1250 MB /   1.00 sec =    9.4366 Mbps     0 retrans
    1.1250 MB /   1.00 sec =    9.4366 Mbps     0 retrans
    1.1250 MB /   1.00 sec =    9.4366 Mbps     0 retrans
    1.1250 MB /   1.00 sec =    9.4367 Mbps     0 retrans
    1.1250 MB /   1.00 sec =    9.4366 Mbps     0 retrans
    1.0625 MB /   1.00 sec =    8.9482 Mbps     0 retrans
    1.1250 MB /   1.00 sec =    9.4365 Mbps     0 retrans

   11.6250 MB /  10.41 sec =    9.3644 Mbps 0 %TX 0 %RX 0 retrans 7.66 msRTT
 :
 :
$ nuttcp -i1 -D 59.106.2.34    # クライアントからサーバーへ(下り)の通信速度を計測
    1.0625 MB /   1.00 sec =    8.8991 Mbps     0 retrans
    1.0625 MB /   1.00 sec =    8.9130 Mbps     0 retrans
    1.1875 MB /   1.00 sec =    9.9606 Mbps     0 retrans
    1.1250 MB /   1.00 sec =    9.4408 Mbps     0 retrans
    1.1250 MB /   1.00 sec =    9.4361 Mbps     0 retrans
    1.1250 MB /   1.00 sec =    9.4371 Mbps     0 retrans
    1.1250 MB /   1.00 sec =    9.4358 Mbps     0 retrans
    1.1250 MB /   1.00 sec =    9.4369 Mbps     0 retrans
    1.1250 MB /   1.00 sec =    9.4371 Mbps     0 retrans
    1.0625 MB /   1.00 sec =    8.9120 Mbps     0 retrans

   11.5625 MB /  10.35 sec =    9.3685 Mbps 0 %TX 0 %RX 0 retrans 8.12 msRTT

ディスクI/Oのチェック

 次に、ストレージ関係の処理能力を見ていこう。ストレージのパフォーマンスを調査する方法は色々なものがあるが、ここではベンチマークツールを利用してテストを行った。使用したツールは毎秒あたりに操作できるファイル数を測定する「FS-Mark」と、複数スレッドで同時にストレージにアクセスしてそのスループットを測定する「Threaded I/O Tester」の2つだ。

 FS-Markテストは指定したサイズのファイルを次々と作成してその所要時間を測定することで、1秒あたりに作成できるファイル数の限界を測定するものだ。ここではファイルサイズを1MBに指定して実行している。

 また、Threaded I/O Testerは複数のスレッドから同時にストレージへの読み出し/書き込みを行い、その速度を測定するものだ。今回は各スレッドがアクセスするファイルサイズを32MB、同時実行するスレッド数を32に設定し、シーケンシャルリード/ライトおよびランダムリード/ライトという4種類のテストを行っている。

 テスト結果だが、表7のような結果となった。今回テストで使用したサーバーはRAID1構成のためやや書き込みパフォーマンスは低めだが、一方で読み出しについては高いパフォーマンスとなっている。

表7 ストレージI/Oのベンチマーク結果
ベンチマークテスト 結果
FS-Mark(1000ファイル、1MB) 17.37ファイル/秒
Threaded I/O Tester(Write、32MB/スレッド、32スレッド) 13.21MB/秒
Threaded I/O Tester(Read、32MB/スレッド、32スレッド) 353.44MB/秒
Threaded I/O Tester(Random Write、32MB/スレッド、32スレッド) 0.92MB/秒
Threaded I/O Tester(Random Read、32MB/スレッド、32スレッド) 11.65MB/秒

専用サーバー+XenServerの構成で管理負荷を軽減しよう

 サーバー仮想化の最大のメリットは、なんといってもサーバーの管理負荷を軽減できる、という点にある。特にXenServerでは使いやすい管理コンソールが提供されることもあり、仮想マシンの管理が非常に容易である。あまりパフォーマンスを必要としないサーバーを複数台で運用している、といった場合などには非常に効果的なソリューションであるといえるだろう。

 また、サーバー仮想化のもう1つのメリットとしては、前述のとおり仮想マシンを異なる物理マシンに容易に保存・移動できる、という点が挙げられる。たとえば作成したサーバー環境を複製したり、ローカルマシン上に構築したサーバー環境をリモートにあるサーバー上で稼働させる、といった作業が行えるのだ。次回はこのような、柔軟なサーバー環境の構築と運用を実現する機能やその手順、制限などについて説明する予定だ。