同じサーバで、XenとKVMのベンチマークをとって比較してみた。

長く使っているXenか、主流になりつつあるKVMか、「結局のところどっちがいいのだろう?」ということで、正確に比較する為に、同じサーバに交互に作った環境の仮想サーバで、それぞれUnixBenchを使って、ベンチマークをとってみました。

UnixBenchでベンチマークを実施

作った仮想サーバのスペックは、

  • CPU数:8
  • Mem:2G
  • HDD:256G

です。なお、ホストサーバのCPUは、「Xeon E5506 × 2」です。

KVMの仮想サーバ(完全仮想化)のベンチマーク結果です。

------------------------------------------------------------------------
Benchmark Run: 日  6月 05 2011 15:38:38 - 16:06:11
8 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables       11997317.2 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     2407.1 MWIPS (8.0 s, 7 samples)
Execl Throughput                               1312.0 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        378193.3 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks          114061.9 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        973090.5 KBps  (30.0 s, 2 samples)
Pipe Throughput                              780990.0 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  20874.6 lps   (10.0 s, 7 samples)
Process Creation                               6664.0 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   3775.9 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                   1791.7 lpm   (60.0 s, 2 samples)
System Call Overhead                         753281.0 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   11997317.2   1028.0
Double-Precision Whetstone                       55.0       2407.1    437.7
Execl Throughput                                 43.0       1312.0    305.1
File Copy 1024 bufsize 2000 maxblocks          3960.0     378193.3    955.0
File Copy 256 bufsize 500 maxblocks            1655.0     114061.9    689.2
File Copy 4096 bufsize 8000 maxblocks          5800.0     973090.5   1677.7
Pipe Throughput                               12440.0     780990.0    627.8
Pipe-based Context Switching                   4000.0      20874.6     52.2
Process Creation                                126.0       6664.0    528.9
Shell Scripts (1 concurrent)                     42.4       3775.9    890.6
Shell Scripts (8 concurrent)                      6.0       1791.7   2986.2
System Call Overhead                          15000.0     753281.0    502.2
                                                                   ========
System Benchmarks Index Score                                         624.3

------------------------------------------------------------------------
Benchmark Run: 日  6月 05 2011 16:06:11 - 16:33:44
8 CPUs in system; running 8 parallel copies of tests

Dhrystone 2 using register variables       95394202.0 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                    19061.3 MWIPS (7.8 s, 7 samples)
Execl Throughput                              17089.1 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks         91806.9 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           27038.9 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        264551.8 KBps  (30.0 s, 2 samples)
Pipe Throughput                             6161535.3 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                1771839.5 lps   (10.0 s, 7 samples)
Process Creation                              60879.0 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                  21389.6 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                   3823.3 lpm   (60.1 s, 2 samples)
System Call Overhead                        3942347.7 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   95394202.0   8174.3
Double-Precision Whetstone                       55.0      19061.3   3465.7
Execl Throughput                                 43.0      17089.1   3974.2
File Copy 1024 bufsize 2000 maxblocks          3960.0      91806.9    231.8
File Copy 256 bufsize 500 maxblocks            1655.0      27038.9    163.4
File Copy 4096 bufsize 8000 maxblocks          5800.0     264551.8    456.1
Pipe Throughput                               12440.0    6161535.3   4953.0
Pipe-based Context Switching                   4000.0    1771839.5   4429.6
Process Creation                                126.0      60879.0   4831.7
Shell Scripts (1 concurrent)                     42.4      21389.6   5044.7
Shell Scripts (8 concurrent)                      6.0       3823.3   6372.2
System Call Overhead                          15000.0    3942347.7   2628.2
                                                                   ========
System Benchmarks Index Score                                        2256.4

Xenの仮想サーバ(準仮想化)のベンチマーク結果です。

------------------------------------------------------------------------
Benchmark Run: 日  6月 05 2011 17:34:27 - 18:02:17
8 CPUs in system; running 1 parallel copy of tests

Dhrystone 2 using register variables        9603353.4 lps   (10.0 s, 7 samples)
Double-Precision Whetstone                     1919.9 MWIPS (9.3 s, 7 samples)
Execl Throughput                                876.8 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks        156524.5 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           42545.8 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        470755.8 KBps  (30.0 s, 2 samples)
Pipe Throughput                              219765.7 lps   (10.0 s, 7 samples)
Pipe-based Context Switching                  61171.8 lps   (10.0 s, 7 samples)
Process Creation                               2567.1 lps   (30.0 s, 2 samples)
Shell Scripts (1 concurrent)                   2411.9 lpm   (60.0 s, 2 samples)
Shell Scripts (8 concurrent)                    669.7 lpm   (60.1 s, 2 samples)
System Call Overhead                         195632.2 lps   (10.0 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0    9603353.4    822.9
Double-Precision Whetstone                       55.0       1919.9    349.1
Execl Throughput                                 43.0        876.8    203.9
File Copy 1024 bufsize 2000 maxblocks          3960.0     156524.5    395.3
File Copy 256 bufsize 500 maxblocks            1655.0      42545.8    257.1
File Copy 4096 bufsize 8000 maxblocks          5800.0     470755.8    811.6
Pipe Throughput                               12440.0     219765.7    176.7
Pipe-based Context Switching                   4000.0      61171.8    152.9
Process Creation                                126.0       2567.1    203.7
Shell Scripts (1 concurrent)                     42.4       2411.9    568.8
Shell Scripts (8 concurrent)                      6.0        669.7   1116.2
System Call Overhead                          15000.0     195632.2    130.4
                                                                   ========
System Benchmarks Index Score                                         337.7

------------------------------------------------------------------------
Benchmark Run: 日  6月 05 2011 18:02:17 - 18:30:21
8 CPUs in system; running 8 parallel copies of tests

Dhrystone 2 using register variables       94604857.7 lps   (10.1 s, 7 samples)
Double-Precision Whetstone                    19221.1 MWIPS (7.7 s, 7 samples)
Execl Throughput                               2813.9 lps   (30.0 s, 2 samples)
File Copy 1024 bufsize 2000 maxblocks         97893.0 KBps  (30.0 s, 2 samples)
File Copy 256 bufsize 500 maxblocks           26593.2 KBps  (30.0 s, 2 samples)
File Copy 4096 bufsize 8000 maxblocks        341784.5 KBps  (30.0 s, 2 samples)
Pipe Throughput                             1883619.6 lps   (10.1 s, 7 samples)
Pipe-based Context Switching                 329228.7 lps   (10.1 s, 7 samples)
Process Creation                               4347.8 lps   (30.1 s, 2 samples)
Shell Scripts (1 concurrent)                   5787.4 lpm   (60.1 s, 2 samples)
Shell Scripts (8 concurrent)                    930.8 lpm   (60.3 s, 2 samples)
System Call Overhead                        1743055.6 lps   (10.1 s, 7 samples)

System Benchmarks Index Values               BASELINE       RESULT    INDEX
Dhrystone 2 using register variables         116700.0   94604857.7   8106.7
Double-Precision Whetstone                       55.0      19221.1   3494.7
Execl Throughput                                 43.0       2813.9    654.4
File Copy 1024 bufsize 2000 maxblocks          3960.0      97893.0    247.2
File Copy 256 bufsize 500 maxblocks            1655.0      26593.2    160.7
File Copy 4096 bufsize 8000 maxblocks          5800.0     341784.5    589.3
Pipe Throughput                               12440.0    1883619.6   1514.2
Pipe-based Context Switching                   4000.0     329228.7    823.1
Process Creation                                126.0       4347.8    345.1
Shell Scripts (1 concurrent)                     42.4       5787.4   1365.0
Shell Scripts (8 concurrent)                      6.0        930.8   1551.4
System Call Overhead                          15000.0    1743055.6   1162.0
                                                                   ========
System Benchmarks Index Score                                         937.2

ベンチマーク結果のまとめ

  • 「8 CPUs in system; running 1 parallel copy of tests」の結果

    KVM → 624.3

    Xen → 337.7

  • 「8 CPUs in system; running 8 parallel copies of tests」の結果

    KVM → 2256.4

    Xen → 937.2

という結果で、

えっ!と言う感じのスコアの差がでました。

正直、「何かを間違えたかな?」と思って、計測を何回か行ったり、いろいろと確認したり、最終的には、もう一度両方を再インストールして計測もしましたが、結果は変わりませんでした。

ということで、今回の結果からいくと無条件にKVMに移行すべきのようです。

カテゴリー: サーバ・インフラのこと   タグ: , , ,   この投稿のパーマリンク

トラックバック

同じサーバで、XenとKVMのベンチマークをとって比較してみた。 への1件のコメント

  1. ピンバック: Gentoo Linux で kvm-qemu: Xen から kvm に移行しました | blog::dameningen

コメントをどうぞ

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

*

次のHTML タグと属性が使えます: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>