2008年09月05日

VirtualBox 2.0でUnix Benchしてみた

はてなブックマークに登録

なりゆき

先日、VirtualBox 2.0 がリリースされました。VirtualBoxは以前から愛用していたのですが、2.0になって描画速度が 体感で速くなって喜んでいます。

2.0の新機能のうち、気になったのが、64bitゲスト対応と、Nested Pagingへの対応です。Nested Pagingは、Phenomや最近の Opteronに搭載されている第二世代の仮想化支援機能で、Virtual Boxのサイトにも"(major performance gain)"とかかれているので 非常に気になるのですが、あいにく私が自宅で使っているマシンのCPUは古いAthlon 64 X2なので対応していません。とりあえず、 1.6(AMD-V有効)と2.0の32bit(AMD-V有効/無効)、64bit(AMD-V有効)で、ベンチマークを取ってみることにしました。

ベンチマークについて

仮想化でパフォーマンスが気になるのは、I/Oとプロセスまわりなのですが、今回はプロセスまわりをベンチマークしてみることにしました。 ベンチマークソフトにはUnix Bench 4.1を利用し、ベンチマークのオプションは、./Run -1 execl pipe context1 spawn shell syscall のようにしました。ベンチマークを取った環境は、

CPU: Athlon 64 X2 5000+ (2.6GHz)
メモリ: DDR2-800 6GB
ホストOS: WindowsXP Professional 64bit Edition
ゲストOS: Ubuntu Linux 8.04 i386/amd64
比較対象OS: Ubuntu Linux 8.04 amd64 (Wubiインストール)

になります。普段自宅でつかっている環境で、大体の傾向を調べたいだけなのでベンチマーク用に安定した環境を作って無いので、 テストの誤差は大きいと思いますが、ご容赦ください。

ベンチマーク結果

Ubuntu 64bit on Wubi

                     INDEX VALUES
TEST                                     BASELINE     RESULT      INDEX

Execl Throughput                             43.0     3094.1      719.6
Pipe Throughput                           12440.0  1091253.2      877.2
Pipe-based Context Switching               4000.0   275380.5      688.5
Process Creation                            126.0    10806.6      857.7
Shell Scripts (8 concurrent)                  6.0      842.0     1403.3
System Call Overhead                      15000.0  2170821.4     1447.2
                                                              =========
     FINAL SCORE                                                  954.6

Ubuntu 64bit on VirtualBox 2.0 (AMD-V on)

                     INDEX VALUES
TEST                                     BASELINE     RESULT      INDEX

Execl Throughput                             43.0      384.6       89.4
Pipe Throughput                           12440.0  1803972.5     1450.1
Pipe-based Context Switching               4000.0    51086.2      127.7
Process Creation                            126.0      908.9       72.1
Shell Scripts (8 concurrent)                  6.0      121.0      201.7
System Call Overhead                      15000.0  2522465.7     1681.6
                                                              =========
     FINAL SCORE                                                  272.0

Ubuntu 32bit on VirtualBox 2.0 (AMD-V on)

                     INDEX VALUES           
TEST                                     BASELINE     RESULT      INDEX

Execl Throughput                             43.0      209.8       48.8
Pipe Throughput                           12440.0    49710.4       40.0
Pipe-based Context Switching               4000.0    11908.5       29.8
Process Creation                            126.0      623.0       49.4
Shell Scripts (8 concurrent)                  6.0       80.0      133.3
System Call Overhead                      15000.0  2327276.3     1551.5
                                                              =========
     FINAL SCORE                                                   91.7

Ubuntu 32bit on VirtualBox 1.6.6 (AMD-V on)

                     INDEX VALUES           
TEST                                     BASELINE     RESULT      INDEX

Execl Throughput                             43.0      254.3       59.1
Pipe Throughput                           12440.0    48507.9       39.0
Pipe-based Context Switching               4000.0    10463.6       26.2
Process Creation                            126.0      575.5       45.7
Shell Scripts (8 concurrent)                  6.0       75.0      125.0
System Call Overhead                      15000.0  2266484.1     1511.0
                                                              =========
     FINAL SCORE                                                   89.7

Ubuntu 32bit on VirtualBox 2.0 (AMD-V off)

                     INDEX VALUES           
TEST                                     BASELINE     RESULT      INDEX

Execl Throughput                             43.0      223.3       51.9
Pipe Throughput                           12440.0    47751.2       38.4
Pipe-based Context Switching               4000.0     6895.9       17.2
Process Creation                            126.0      495.3       39.3
Shell Scripts (8 concurrent)                  6.0       69.0      115.0
System Call Overhead                      15000.0   221690.9      147.8
                                                              =========
     FINAL SCORE                                                   53.3

感想

以前からconfigureが遅いなーとは思ってたのですが、ベンチマーク結果をみると、こんなに遅かったんだと 少しびっくりしました。でも、VirtualBox 2.0から利用できる64bitゲストでは、32bitゲストよりも大分 マシな性能がでるようになったので、これからは64bitゲストを常用しようと思います。

また、AMD-Vのon/offでこれだけ性能差があるのを見ると、AMD-V機能付きのCPU持っていて 良かったと思う半面、さらに早くなると言われているPhenomが欲しくなって来ました。 しばらく物欲と戦う日々が続きそうです。


@methane
klab_gijutsu2 at 17:58│Comments(0)TrackBack(1)

トラックバックURL

この記事へのトラックバック

1. 「Virtual PC」で作成したVHD形式の仮想HDDに対応した「VirtualBox」v2.0.0  [ 無料でダウンロード!! ]   2008年09月09日 01:15
 Sun Microsystems, Inc.は4日、USB機器も利用できるフリーの仮想PC作成・実行ソフト「VirtualBox」の最新版v2.0.0を公開した。最新版の主な変更点は、Microsoft製の仮想PC作成・実行ソフト「Virtual PC」で作成したVHD形式の仮想ハードディスクを読み込めるようになったこ...

この記事にコメントする

名前:
URL:
  情報を記憶: 評価: 顔   
 
 
 
Blog内検索
Archives
このブログについて
DSASとは、KLab が構築し運用しているコンテンツサービス用のLinuxベースのインフラです。現在5ヶ所のデータセンタにて構築し、運用していますが、我々はDSASをより使いやすく、より安全に、そしてより省力で運用できることを目指して、日々改良に勤しんでいます。
このブログでは、そんな DSAS で使っている技術の紹介や、実験してみた結果の報告、トラブルに巻き込まれた時の経験談など、広く深く、色々な話題を織りまぜて紹介していきたいと思います。
最新コメント