Cloud4Yでは、VmWare製品が主要な仮想化ソリューションであると考えています。 ただし、XenやKVMなどの他のソリューションに興味があります。 そして、ここに私たちが気づいたものがあります:これらのハイパーバイザーを比較できるほど多くの情報はありません:2012年に遡るネットワークの日付で見つかった最新の実用的な研究はもちろん、もはや関連するとは見なされません。 本日は最新のものではありませんが、KVMハイパーバイザーとXenハイパーバイザーのパフォーマンスに関する非常に有用な研究をご紹介します。

ハイパーバイザーKVM
はい、仮想化の第一人者は私たちを許しますが、最初に読者にハイパーバイザーとは何か、なぜそれが必要なのかを思い出させます。 さまざまな意味のタスク(ソフトウェア開発、ホスティングなど )を実行するには、仮想マシンを使用するのが最も簡単です。適切なソフトウェア環境で複数の異なるオペレーティングシステムを使用できます。 仮想マシンの操作を簡単にするために、ハイパーバイザーが使用されます。ハイパーバイザーは、VMを迅速に展開、停止、および起動できるソフトウェアツールです。 KVMは最も普及しているハイパーバイザーの1つです。
KVMは、Linuxなどを実行するPCベースの仮想化を整理できるソフトウェアです。 最近、KVMはLinuxカーネルのコンポーネントと見なされ、KVMと並行して開発されています。 このハイパーバイザーは、ハードウェアで仮想化がサポートされているシステムでのみ使用できます(IntelおよびAMDプロセッサーを使用)。
その過程で、KVMは
プロセッサ固有のモジュール(
kvm-intelまたは
kvm-amd )を介してカーネルに直接アクセスします。 さらに、主要なコアであるkvm.koおよびUI要素(広範なQEMUを含む)が複合体に含まれています。 KVMを使用すると、VMファイルとディスクイメージを直接操作できます。 各仮想マシンには、独自の分離スペースが用意されています。

ハイパーバイザーXen
当初、ケンブリッジの学生はプロジェクトを立ち上げ、最終的にXenの商用バージョンになりました。 最初のリリースは2003年で、2007年にCitrixはソースコードを購入しました。 Xenは優れた機能と巨大な機能を備えたクロスプラットフォームハイパーバイザーであり、企業分野での使用を可能にします。 Xenは、ハイパーバイザーと同時に動作するようにカーネルが構成されている場合、オペレーティングシステムの特別なカーネルモードである準仮想化をサポートします。
Xenコードには、必要な一連の機能のみが追加されています。仮想メモリとプロセッサのクロック速度の管理、DMAの操作、リアルタイムタイマー、および割り込みです。 残りの機能は、ドメイン、つまりその時点で実行されている仮想マシンに配置されます。 したがって、Xenは最も軽いハイパーバイザーです。
研究の本質
テストは、それぞれがクロック周波数3.10 HzのクアッドコアIntel Xeon E3-1220プロセッサー、24GB Kingston DDR3 RAM、および4つのWestern Digital RE-3 160GB(RAID 10)ドライバーを備えた2台のSuperMicroサーバーの使用に基づいています。 BIOSバージョンは同じです。
ホスティングおよび仮想マシンについては、Fedora 20(SELinuxを使用)を使用しました。 私たちが取ったソフトウェアのバージョンは次のとおりです。
- カーネル:3.14.8
- KVMの場合: qemu-kvm 1.6.2
- Xenの場合:xen 4.3.2
すべてのルートファイルシステムは、デフォルト構成のXFSです。 仮想マシンは、KVMおよびXenに適用可能なデフォルト設定を使用して
virt-Managerを使用して作成されます。 仮想ディスクは
rawイメージを使用し、8 GBのRAMに4つのvCPU(仮想プロセッサ)が割り当てられました。 Xenで実行されているOSはPVHVMを使用しました。
説明
一部の皆さんはresし始めるかもしれません-彼らは、Fedora 20の所有者であるRed HatはKVMをサポートするために多大な努力を費やしていると言っています。 明確にするために:Red Hatは長年Xenで大きな進歩を遂げていません。
さらに、ハイパーバイザー間の競合は厳しく制御され、最小限に抑えられます。 ほとんどの仮想サーバーでは、CPU時間、I / Oデバイス、およびネットワークアクセスを巡って戦ういくつかの仮想マシンがあります。 テストではこれを考慮していません。 1つのハイパーバイザーは、リソースの競合が少なく生産性が低い場合がありますが、リソースの争いが激しい場合は競合他社よりもはるかに高い効率を示します。
この調査はIntelプロセッサで実施されたため、AMDとARMで結果が異なる場合があります。
結果
ハードウェアに直接インストールされた、つまりオペレーティングシステム(以下、ハードウェアと呼びます)なしでインストールされた仮想マシンのテストは、仮想マシンのテストの基礎として機能しました。 仮想化なしの2台のサーバー間のパフォーマンスの偏差は0.51%以下でした。
KVMのパフォーマンスは、ほとんどすべてのテストでハードウェアと比較して1.5%以内に落ちました。 異なる結果を示したのは2つのテストだけでした。そのうちの1つは
7-Zipテストで、KVMはハードウェアよりも2.79%遅いことを示しました。 PostMarkテスト(負荷の高いメールサーバーをシミュレート)でKVMが4.11%高速だったことは奇妙です。 Xenのパフォーマンスは、KVMの場合よりもハードウェアのパフォーマンスとは異なります。 3つのテストでは、Xenはハードウェアの速度と2.5%異なりましたが、他のテストではさらに低速でした。
PostMarkテストでは、Xenはハードウェアより14.41%遅くなりました。 再起動すると、テスト結果は最初の結果と2%異なりました。 KVMの最高のテストであるMAFFTは、Xenの最悪のリストの2番目でした。
短いテスト結果は次のとおりです。
| 最高の価値 | ベアメタル | Kvm | Xen |
---|
時限MAFFTアライメント | 低い | 7.78 | 7.795 | 8.42 |
---|
Smallpt | 低い | 160 | 162 | 167.5 |
---|
ハメ撮り | 低い | 230.02 | 232.44 | 235.89 |
---|
消印 | より高い | 3667 | 3824 | 3205 |
---|
Openssl | より高い | 397.68 | 393.95 | 388.25 |
---|
ジョン・ザ・リッパー(MD5) | より高い | 49548 | 48899.5 | 46653.5 |
---|
ジョン・ザ・リッパー(DES) | より高い | 7374833.5 | 7271833.5 | 6911167 |
---|
ジョン・ザ・リッパー(フグ) | より高い | 3026 | 2991.5 | 2856 |
---|
CLOMP | より高い | 3.3 | 3.285 | 3.125 |
---|
C線 | 低い | 35.35 | 35.66 | 36.13 |
---|
7-zip | より高い | 12467.5 | 12129.5 | 11879 |
---|
完全な結果を表示する場合は、 リンクをクリックしてください 。
結論の代わりに
私たちのテストでは、KVMはほとんどの場合、ハードウェアよりも2%遅くなりました。 Xenは10のテストのうち3つで2.5%遅く、残りのテストでは5-7%遅くなりました。 KVMはPostMarkテストで最高の側面を示しましたが、I / Oテストは1回しか実施しなかったことに注意する必要があります。より信頼性の高い画像を得るには、もう少し価値があります。
適切なハイパーバイザーを選択するには、ワークロードの性質を正しく評価する必要があります。 ワークロードが必要とするCPUが少なく、I / Oが多い場合は、I / Oテストを増やすことができます。 主にオーディオとビデオを扱う場合は、x264またはmp3テストを試してください。
[UPD] mister_fogが正しく述べたように、2007年にCitrixはXenソースコードではなく、Xen開発者によって設立され、このオープンソースプロジェクトの商用開発に携わるXenSourceを購入しました。
証明