パフォーマンスにおけるXenとKVM


36

同じハードウェア、XenまたはKVMでは何が速いですか?

私は、最高のパフォーマンスを提供する仮想化テクノロジーを採用しようとしています。

ここにいくつかのベンチマークがあります:http : //virt.kernelnewbies.org/XenVsKVM

彼らは勝者としてKVMを示していますが、パフォーマンスに大きな違いがあります-KVMはタイプ2ハイパーバイザーであり、定義によりタイプ1ハイパーバイザー(Xenなど)よりも遅くなければならないという考えに反します-または少なくともウェブ上の記事は言う。

この件に関するアイデアはありますか?


KVM + 1xVMとXen + 1VMを比較するので、その比較はかなり悪いように思えます... VMのみを使用している場合に仮想化を行うポイントは何ですか?
アントワーヌ・ベンケモン2009

KVMはタイプ2ハイパーバイザーではありません。これは間違いなくタイプ1であり、Xenよりもハードウェアにより近いことは間違いありません。そうです、まったく同じ条件が与えられれば、KVMは、特に最新のvirtIOドライバーでパフォーマンスが向上するはず
です-dyasny

2017年にこれを読んでいる場合(誰かがこの質問を簡単に編集した場合)、この質問とその回答はEIGHT YEARS OLDです。KVMとXenのランドスケープは現在非常に異なっています。
thomasrutter

回答:


33

このベンチマークは、ネイティブOSの速度を単一のゲストOSと比較するだけです。これは実際のテストではありません。私はそれをあまり重視しないと思います。KVMキャンプの大部分は、Xenがカーネルとユーザー空間の間に非常に多くの割り込みとホップを必要とすると主張しますが、私が見たより現実的なベンチマークのほとんどから、実際には実現されておらず、Xenは少し速いようですKVMより。

申し訳ありませんが、これをバックアップするためのリンクはありません。しかし、KVMは急速に改善されており、機能セットと安定性に迅速に追いついているようです。

どのアプローチが優れているかについて。Xen陣営は、仮想化が安全で高速であるためには、真の軽量ハイパーバイザーには仮想化が必要であると主張します。また、Xenは一部のベンダーによってファームウェアでサポートされ始めていますが、これもまた素晴らしいことです。KVM陣営は、KVMの方が単純であり、Linuxは優れたハイパーバイザーになることができると主張します。

最終的に、どちらの方向が最終的に勝つかはまだ不明です。Xenは確かに順調なスタートを切っており、すでに素晴らしい市場シェアを持っています。しかし、まだメインラインカーネルにはありません。願わくば、それがすぐに変わり、過去数ヶ月の間にカーネルリストでこれについて多くの話があったことは確かです。Red Hatは現在KVMキャンプに入っており、選択の仮想化プラットフォームとして推進しています。まもなく公開されるRed Hat Linux 5.4が最初に含まれます。そのため、仮想化プラットフォームをまだ展開またはコミットしていないショップを引き付ける可能性があります。

ツールに関しては、XenとKVMの両方がlibvirtとQEMUおよびそれらに関連するツールを使用します。そのため、virt-managerなどの同じツールの多くを共有しています。

私たちは職場でXenを使用しています。しかし、Xenでは解決できなかったUSB転送とPCIパススルーの問題のため、KVMを検討しています。これでKVMの方が優れているかどうかはわかりませんが、試してみればわかると思います。USBの問題を調査する際に気づいたことの1つは、KVMのドキュメントはXenのドキュメントよりも評価しやすく整理されていることです。しかし、完璧な仮想化プラットフォームは存在しないため、何が理にかなっているのかを理解する必要があります。


同じことが今後も続くのであれば、何か考えはありますか?Redhat 5.4にはネイティブKVMサポートがまもなく登場するので、半年後にXenからKVMに切り替える必要のないものを知りたいと思います。ありがとう。
SyRenity 09

1
未来がどうなるかを予測することはできません。しかし、これらのプラットフォームはいずれも消滅しません。RedHatは、XenとKVMのサポートに取り組んでいると述べています。時間が経てば、これがどのように機能するかがわかります。しかし、6か月以内に変更する必要はありません。おそらく数年後には、オープンソースの仮想化プラットフォームの明確なリーダーになるでしょう。
3dinfluence 2009

おもしろいことに、USBサポートのためにKVMに移行したことに注意してください。USB2.0サポートが不足しているため、移行を検討する必要がありました。あなたの投稿から、Xenの方がずっと良くなるとは思わない。
jkp

1
@jkpインフラストラクチャの他のいくつかの部分が交換されるのを待っていました。ちょうど完了しました。したがって、今後数週間で、KVMを詳しく見ることができるかもしれません。ただし、私の場合、ハードウェアはIOMMU(VTd)をサポートしていません。ですから、KVMへの移行が役立つかどうかはわかりません。XENでは、PCIパススルーのIOMMUサポートが必要です。ただし、KVMはlibvirtを使用してUSBおよびPCI要素のパススルーをサポートします。だから、IOMMUがなくても機能することを願っています。現在、Xenの下でUSBをパススルーする唯一の方法は、USB PCIコントローラーをパススルーすることですが、その情報はこの時点で日付が付けられている場合があります。
3dinfluence

1
@ 3dinfluence:USBとPCIのサポートがどのように実装されているかを誤解するかもしれないと思います-libvirtはこれらのこと自体を行わず、VMハイパーバイザーの基本的な機能を構成する方法を提供するだけです。この場合、機能はKVMカーネルモジュールとQemuユーザースペースコードの組み合わせによって提供されます。
jkp

7

個人的には、使用している仮想マシンの使いやすさ、サポート、信頼性、および適合性に基づいて仮想化を選択します。

Xenネットワークのデータ転送速度は実際のハードウェアと同じくらい良いように思えますが、XenとvLansおよび複数のイーサネットカードとの戦いもいくつかありました。KVMの経験はありませんが、VMware ESX(i)も検討することをお勧めします。


1
VmwareサーバーのIOパフォーマンスは非常に悪いです。vmwareを使用する必要がある場合は、esxを使用してください。
ko-dos

6

FWIW:その答えは、現在および将来のニーズに完全に依存します。

はい、私はそれが役に立たない答えであることを知っています。残念ながら、それは事実です。仮想化の選択は、その後に行うほとんどすべてに影響を与えるため、いくつかの質問を自問する必要があります。

(1)ネイティブパフォーマンスの97%とネイティブパフォーマンスの96%(空中から引き抜かれた数字)の違いは本当にあなたにとって重要ですか?

(1a)一方がHDアクセスで優れている場合(これは本当に素晴らしいデータベースを使用している、または余分なRAMを買う余裕がないことを意味します)、もう一方はあなたにとってより重要なネットワークで優れています?

(2)どちらのソリューションでも提供されているツールを使用することに自信がありますか?

(3)1つが(ある種の)最近のLinuxカーネルにネイティブであり、もう1つがそうでないという事実が違いを生むのか?

(3a)今、または今までに…あなたは…仮想化の下で異なるOSを実行する必要がありますか?Windowsである必要はありません。それは、FreeBSD、またはHaiku、あるいは何でもかまいません。(Xenはおそらくここで勝ちますが、確認することをお勧めします。)

全体像を見ると、KVMはSolarisゾーンに対するLinuxの答えだと思います。(私はむしろSolarisゾーンが欲しいのですが、並行性があります。)Xenは複数のOSをサポートする成熟したハイパーバイザーテクノロジーと考えていますが、複数のOSを必要としない場合はそれほど重要ではありません。

絶対に正直に言うと、どちらの方法でも大した間違いはありません(上記の注意事項を参照)。ケンブリッジに行ったので、Xenが好きです。しかし、RHで働いていたら、おそらくKVMを好むでしょう。


6

次のプレゼンテーションで、このテーマに関する非常に興味深い情報を見つけることができます:XenとKVMの定量的比較

これを行った人はXenの専門家ですが、比較はかなり公平に思えます。


プレゼンテーションに感謝します。XenはCPUとネットワークIOでトップですが、KVMはHD IOでトップです。しかし、この数値(virt.kernelnewbies.org/XenVsKVM)を読むと、KVMがすべての比較で勝ち取ったようです。真実はどこにあるのでしょうか?:)
SyRenity 09

私のプレゼンテーションはより現実的だと思います。一度に複数のVMを実行します。テストプロトコルは現実に近いようです。
アントワーヌ・ベンケモン2009

+1興味深いプレゼンテーション!Xenの方が分離が優れているようです。
ジョナス

5

私はここで外出するかもしれませんが、このようなテクノロジーに関しては、生のパフォーマンスが最も重要な指標であるとは思いません。

信頼性の高いインフラストラクチャをサポートするツールだけでなく、使いやすさとインターフェイスも重要だと思います。Xenには、KVMよりもはるかに堅牢な既存アプリケーションのセットがあります。バックアップする証拠がないので、そうではないかもしれません。

何を選んでも、最適なソリューションを決定し、生のパフォーマンスだけでなくパッケージ全体を確認します。


RHEVを確認する必要があります。管理は非常にシンプルでユーザーフレンドリーです。
dyasny

2

KVMの設定の難しさや容易さの多くは、ディストリビューションに依存しています。Xen中心のディストリビューションを選択すると、Xenが簡単になります。KVM中心の分布を選択すると、KVMが簡単になります。

ツールの質問は、どちらもlibvirtを使用するため、やや無関係です。つまり、ほとんどの場合、両方に同じ管理ツールを使用します。


1

2017年の終わりに、以前最大のXenユーザーであったAmazonは、すべての新しいC5インスタンスタイプにKVMを使用すると発表しました。私の知る限り、クラウドプロバイダーのSoftLayerだけが大規模なXenユーザーのままです。Linodeは2015年に切り替えて、主要なパフォーマンスの改善報告しました

現実的で最新のパフォーマンス比較を見つけることは困難ですが、あなたが思うように両方のソリューションの間にそれほど大きなギャップはないようです。ユースケースにもよりますが、Xenはさらに高速になります。KVMには、Linuxカーネルの一部でありRedHatに受け入れられている他の利点もあり、これらも関連しています。たとえば、この回答では、Google Compute EngineにGoogleがKVMを選択した理由について詳しく説明しています。

それでも、ほぼすべてのクラウドプロバイダー、特にGoogleとAmazonがXenよりもKVMを選択しているという事実は、一般的なワークロードの場合、パフォーマンスの観点からKVMが非常に良い選択であるという強い主張です。


注:Amazonは、ネイティブバージョンではなく、修正バージョンのKVMを使用します。そして、私は彼らが典型的なワークロードを持っているとは言わないでしょう、おそらく彼らは本当に重くて珍しいワークロードを持っている、私見
ALex_hha

@ALex_hha私が意図したことは、顧客が実行するアプリケーションに最適なテクノロジーを選択する必要があるということです。その意味で、彼らはさまざまなユースケースで高速なセットアップを見つける必要があります。しかし、組み込みシステムなど、Xenがより有利に匹敵する可能性のある他のシナリオがあることに同意します。
フィリップクラッセン
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.