同じハードウェア、XenまたはKVMの方が高速ですか?
最高のパフォーマンスを実現する仮想化テクノロジーを採用しようとしています。
この件について私が見つけたいくつかのベンチマークがあります: http://virt.kernelnewbies.org/XenVsKVM
彼らはKVMを勝者として示し、パフォーマンスに大きな違いがあります-これはKVMはタイプ2ハイパーバイザーであり、定義により、 Type-1ハイパーバイザー(Xenなど)よりも遅くなる-または、少なくともWeb上の記事が言うこと.
この件について何か考えはありますか?
そのベンチマークは、ネイティブOSの速度を単一のゲストOSと比較するだけです。これは実際のテストではありません。あまり重視しないと思います。ほとんどのKVMキャンプは、Xenがカーネルとユーザー空間の間で非常に多くの割り込みとホップを必要とすることを主張していますが、私が見た実際のベンチマークのほとんどから、 XenはKVMよりも少し速いようです。
すみません、それをバックアップするためのリンクがありません。しかし、KVMは急速に向上しており、機能セットと安定性にすぐに追いついているようです。
どちらのアプローチが優れているかについて。 Xenの陣営は、安全で高速な仮想化には真の軽量ハイパーバイザーが必要であると主張します。 Xenも一部のベンダーによってファームウェアでサポートされ始めています。 KVM campは、KVMの方が単純で、Linuxが優れたハイパーバイザーになることができると主張します。
結局、どちらの方向が最終的に勝つかはまだはっきりしていません。 Xenは確かに有利なスタートを切っており、すでにニースの市場シェアを持っています。しかし、まだメインラインカーネルにはありません。うまくいけば、すぐにそれが変更され、過去数か月間にカーネルリストでこれについて多くの話が確かにありました。 Red Hatは現在KVM=キャンプにあり、仮想化プラットフォームとして推奨されています。まもなくリリースされるRed Hat Linux 5.4が最初に含まれます。そのため、まだ展開していない、または仮想化プラットフォームに取り組んでいないショップを引き付けます。
ツールに関する限り、XenとKVMは、libvirtとQEMU、およびそれらに関連付けられたツールを使用します。したがって、virt-managerなどの同じツールの多くを共有します。
私たちは仕事でXenを使用していますが、それは私たちにとってもうまく機能します。しかし、私はKVMのため、Xenで解決できなかったUSB転送とPCIパススルーの問題が原因で調べていました。確信がありませんKVM =これの方が優れていますが、試してみるとわかります。USBの問題を調査したときに気付いたことの1つは、KVMのドキュメントはXenのドキュメントよりも評価しやすく整理されているということです。しかし、完璧な仮想化プラットフォームはありません。したがって、自分にとって何が意味があるのかを理解する必要があります。
私は個人的に、使用している仮想マシンの使いやすさ、サポート、信頼性、適合性に基づいて仮想化を選択します。
Xenネットワークのデータ転送速度は実際のハードウェアと同じくらい良いようですが、XenとvLans、および複数のイーサネットカードとの戦いもありました。 KVMの経験はありませんが、VMware ESX(i)も検討することをお勧めします。
このテーマに関する非常に興味深い情報は、次のプレゼンテーションで見つかります。XenとKVMの定量的比較
これを行った人はXenのエキスパートですが、比較はかなり公平に思えます。
FWIW:答えは、現在および将来のニーズに完全に依存します。
はい、私はそれが役に立たない答えであることを知っています。残念ながら、それは本当です。仮想化の選択は、その後に行うほとんどすべてのことに影響するため、いくつかの質問をする必要があります。
(1)ネイティブパフォーマンスの97%と96%のネイティブパフォーマンス(空中から取り出された数値)の違いは本当に重要ですか?
(1a)一方がHDアクセスで優れている場合(これは、素晴らしいデータベースを使用している、または追加のRAMを使用できないことを意味します)、もう一方は、ネットワークでより優れており、より重要な場合?
(2)どちらのソリューションでも提供されるツールを使用して自信がありますか?
(3)一方が最近のLinuxカーネルに(ある種の)ネイティブであり、もう一方がそうでないという事実は違いを生みますか?
(3a)あなたは今、またはこれまでに行ったことがありますか?え... Windowsである必要はありません。それはFreeBSDであるかもしれませんし、Haikuであるかもしれません。 (Xenがおそらくここで勝ちますが、確認することをお勧めします。)
全体像を見ると、KVMと答えています)(私はSolarisゾーンが欲しいのですが、それと平行しています)。Xenを成熟したハイパーバイザーテクノロジーと見なしています。複数のOSをサポートしていますが、複数のOSが必要ない場合は、それほど問題ではありません。
正直に言うと、どちらの方法でも、間違いはありません(上記の警告を参照)。私はケンブリッジに行ったので、Xenを好みます。しかし、RHで働いていれば、おそらくKVMを選ぶでしょう。
私はここで外に出かけるかもしれませんが、このようなテクノロジーに関しては、生のパフォーマンスが最も重要なメトリックであるとは思いません。
信頼性の高いインフラストラクチャをサポートするツールだけでなく、使いやすさとインターフェイスも重要だと思います。 Xenには、KVMよりもはるかに強力な既存のアプリケーションセットがサポートされているようです。それを裏付ける証拠がないので、そうではないかもしれません。
何をする場合でも、最適なソリューションを決定し、生のパフォーマンスだけでなく、パッケージ全体を見てください。
KVM=セットアップの困難または容易さの多くはディストリビューションに依存します。Xen中心のディストリビューションを選択するとXenが簡単になります。KVMセントリックなディストリビューションを選択するとKVM簡単です。
ツールの質問はどちらもlibvirtを使用しているため、あまり関係ありません。つまり、ほとんどの場合、同じ管理ツールを両方に使用します。
2017年の終わりに、以前は最大のXenユーザーであったAmazonが すべての新しいC5インスタンスタイプにKVM を使用することを発表しました。私の知る限りでは、クラウドプロバイダーのSoftLayerだけが大きなXenユーザーとして残されています。 2015年にLinodeが切り替えられ、 報告された主要なパフォーマンスの向上 。
現実的で最新のパフォーマンス比較を見つけることは困難ですが、ご想像のとおり、両方のソリューション間に大きなギャップはないようです。ユースケースによっては、Xenはさらに高速になる場合があります。 KVMには他にもLinuxカーネルの一部であり、RedHatに採用されているなどの関連する利点があります。たとえば、 この答え Googleが選択する理由について詳しく説明しますKVM for Google Compute Engine。
それでも、ほとんどすべてのクラウドプロバイダー、特にGoogleとAmazonがXenよりもKVM= Xenを選択しているという事実は、典型的なワークロードではKVMパフォーマンスの点で非常に良い選択です。