Xen vs. KVM performansta


36

Aynı donanımda, Xen veya KVM'de daha hızlı olan nedir?

Çalışmak için en iyi performansı veren sanallaştırma teknolojisini almaya çalışıyorum.

Bu konuda burada bulduğum bazı kriterler var: http://virt.kernelnewbies.org/XenVsKVM

KVM'yi kazanan olarak gösteriyorlar - performansta anlamlı bir farkla - ki bu KVM'nin tip 2 hiper yönetici olduğu fikrine aykırıydı ve tanım gereği Tip 1 hipervizörlerinden (Xen gibi) daha yavaş olması gerekiyordu - ya da en azından ne Web’deki makaleler diyelim.

Konuyla ilgili bir fikrin var mı?


Bu karşılaştırma KVM + 1xVM ve Xen + 1VM'yi karşılaştırdığı için oldukça kötü görünüyor ... Sanallaştırmanın sadece VM'de olması ne anlama geliyor?
Antoine Benkemoun

KVM, tip 2 hiper yönetici değildir. Kesinlikle tip-1 ve kesinlikle donanıma Xen'den daha yakın. Öyleyse evet, aynı şartlar göz önüne alındığında, KVM özellikle modern virtio sürücülerle daha iyi performans göstermelidir
dyasny 19

Bunu 2017'de okuyorsanız (birisi soruyu önemsiz bir şekilde düzenlemiştir), o zaman bu sorunun ve cevaplarının Sekiz YAŞIN OLDUĞUNU farkedin . KVM vs Xen manzara şimdi çok farklı.
thomasrutter

Yanıtlar:


33

Bu kıyaslama yalnızca yerel işletim sisteminin hızını tek bir işletim sistemi işletim sistemi ile karşılaştırıyor. Bu neredeyse gerçek bir sınav değil. Buna fazla ağırlık vereceğimi sanmıyorum. KVM kampının çoğu, Xen’in çekirdek ve kullanıcı alanı arasında çok fazla kesinti ve atlama gerektirdiğini, ancak daha önce gerçekleşmediğini ve Xen’in biraz daha hızlı olduğu görülüyor KVM’den

Maalesef, bunu yedeklemek için bir bağlantım yok. Ancak KVM'nin hızlı bir şekilde geliştiğini ve özellik setini ve istikrarı hızla yakaladığını söyleyebilirim.

Hangi yaklaşımın daha iyi olduğuna gelince. Xen kampı, gerçek bir hafif hipervizörün güvenli ve hızlı olması için sanallaştırmanın gerekli olduğunu savunacak. Xen, ürün yazılımı içinde bazı satıcılar tarafından da desteklenmeye başlandı. KVM kampı, KVM'nin daha basit olduğunu ve Linux'un iyi bir hiper yönetici olabileceğini savunuyor.

Sonunda, hangi yönün sonunda kazanacağı hala belirsiz. Xen'in kesinlikle bir başı var ve zaten iyi bir pazar payına sahip. Ama henüz ana hat çekirdeğinde değil. Umarım bu yakında değişecek ve son birkaç ay içinde çekirdek listesinde bu konuda kesinlikle çok fazla konuşma yapıldı. Red Hat şu an KVM kampında ve tercih edilen sanallaştırma platformu olarak zorlayacak. Kısa bir süre sonra çıkan Red Hat Linux 5.4 bunu ilk ekleyen siz olacak. Bu nedenle, henüz sanallaştırma platformuna henüz girmemiş veya taahhüt etmiş dükkanları çekecektir.

Takımlar söz konusu olduğunda, hem Xen hem de KVM libvirt ve QEMU'yu ve bunlarla ilişkili araçları kullanır. Böylece virt-manager gibi aynı araçların çoğunu paylaşıyorlar.

Xen'i işte kullanıyoruz ve bizim için iyi çalışıyor. Ancak Xen ile çözemediğim bazı USB yönlendirme ve PCI geçiş sorunları nedeniyle KVM'yi araştırıyorum. KVM'nin bu işte daha iyi olduğundan emin değilim, ama bir kere denedikten sonra öğrenirim. USB sorunlarımı araştırırken fark ettiğim bir şey, KVM'nin belgelerinin Xen'e göre daha değerlendirilebilir ve organize olduğudur. Ancak mükemmel bir sanallaştırma platformu bulunmadığından sizin için neyin anlamlı olduğunu bulmanız gerekecek.


Gelecekte de aynı durum söz konusu olur mu? Yerel KVM desteği ile Redhat 5.4 yakında gelirken, 1/2 yıl içinde Xen'den KVM'ye geçmek zorunda kalmayacağımı bilmek isterim. Teşekkürler.
SyRenity

1
Geleceğin sahip olduğu hakkında herhangi bir tahminde bulunamıyorum. Ancak bu platformların hiçbiri kaybolmayacak. RedHat, Xen ve KVM'yi desteklemeye kararlı olduklarını söyledi. Bunun nasıl oynandığını yalnızca zaman söyler. Ancak 6 ay içinde değişmek zorunda kalmaktan endişe etmem. Belki birkaç yıl içinde açık kaynak sanallaştırma platformlarında açık bir lider olacaktır.
3dinfluence

USB desteği için KVM'ye taşınmanın ilginç olduğunu unutmayın - USB 2.0 desteği olmadığı için uzaklaşmayı düşündüm! Tahminine göre Xen çok daha iyi olmayacak.
jkp

1
@jkp Altyapımızın değiştirilebilecek birkaç parçasını bekliyordum. Bu sadece tamamlandı. Yani önümüzdeki haftalarda KVM'ye daha yakından bakabilirim. Ancak benim durumumda donanım IOMMU'yu (VTd) desteklemiyor. Bu yüzden KVM'ye taşınmanın yardımcı olacağını emin değilim. XEN, pci geçişi için IOMMU desteğine ihtiyaç duyuyor. Ancak KVM libvirt kullanarak USB ve PCI eleman geçişini destekliyor. Bu yüzden bunun IOMMU'suz çalışacağını umuyorum. Şu anda, Xen altında, USB'den geçmeyi bildiğim tek yol USB PCI denetleyicisinden geçmek, ancak bu noktada bu bilgiler olabilir.
3dinfluence

1
@ 3dinfluence: USB ve PCI desteğinin nasıl uygulandığını yanlış anlayabileceğinizi düşünüyorum - libvirt bunların hiçbirini kendisi yapmaz, yalnızca VM hipervizörünün temel özelliklerini yapılandırmanın bir yolunu sunar. Bu durumda, yetenekler KVM çekirdek modüllerinin ve Qemu kullanıcı alanı kodunun bir kombinasyonu ile sağlanır.
jkp

7

Şahsen, kullandığınız sanal makineler için kullanılabilirlik, destek, güvenilirlik ve uygunluğa dayalı sanallaştırmayı seçerdim.

Xen ağ veri aktarım hızları gerçek donanım kadar iyi görünmekle birlikte, Xen ve vLans ve çoklu Ethernet kartlarıyla da bazı mücadelelerim oldu. KVM deneyimim yok, ancak VMware ESX'i (i) de dikkate almanızı öneririm.


1
Vmware sunucusu IO performansı çok, çok kötü. Eğer vmware'e gitmek zorundaysanız esx kullanın.
ko-dos

6

FWIW: Cevap, şu anda ve gelecekte tamamen sizin ihtiyaçlarınıza bağlıdır.

Evet, bunun yararsız bir cevap olduğunu biliyorum. Maalesef, doğru. Sanallaştırma seçiminiz daha sonra yaptığınız her şeyi etkileyecektir, bu yüzden kendinize birkaç soru sormanız gerekir.

(1) Yerel performansın% 97'si ve yerel performansın% 96'sı (havadan alınan rakamlar) arasındaki fark gerçekten sizin için önemli mi?

(1a) Eğer biri HD erişiminde daha iyi iş çıkarırsa (bu, gerçekten harika bir veritabanı kullanıyorsanız veya ekstra RAM alamayacağınız anlamına gelirse), diğeri ise sizin için daha önemli olan ağ oluşturma ile daha iyi sonuç veriyorsa ?

(2) Her iki çözüm ile birlikte verilen araçları kullandığınızdan emin misiniz?

(3) Birinin son Linux çekirdeğinde (diğeri) yerli olması, diğeri ise fark yaratmıyor mu?

(3a) Şimdi mi, ya da hiç ... hiç ... sanallaştırma altında farklı bir işletim sistemi çalıştırmanız gerekecek mi? Windows olması gerekmez. FreeBSD, hatta Haiku veya her neyse olabilir. (Xen muhtemelen burada kazanır, ancak kontrol etmenizi öneririm.)

Büyük resme baktığımda, KVM'yi Linux'un Solaris bölgelerine cevabı olarak görüyorum. (Solaris bölgelerine sahip olmayı tercih ederim, ancak paralelini görüyorum.) Xen'i çoklu işletim sistemi destekli olgun bir hiper yönetici teknolojisi olarak görüyorum, ancak o zaman birden fazla işletim sistemine ihtiyacınız yoksa, bu çok önemli değil.

Dürüst olmak gerekirse, iki şekilde de yanlış gidemezsiniz (yukarıda verilen uyarılar). Xen'i tercih ederim çünkü Cambridge'e gittim; fakat eğer RH için çalışsaydım, muhtemelen KVM'yi tercih ederdim.


6

Aşağıdaki sunumda konuyla ilgili çok ilginç bilgiler bulacaksınız: Xen ve KVM'nin Kantitatif Karşılaştırması

Bunu yapan kişi bir Xen uzmanı, ancak karşılaştırma oldukça adil görünüyor.


Sunum için teşekkürler, okumak Xen'in CPU ve Ağ IO'sundayken, KVM'nin HD IO'da olduğunu gösteriyor. Ancak bu sayıları okumak ( virt.kernelnewbies.org/XenVsKVM ), KVM'nin her karşılaştırmaya katlandığını gösteriyor . Gerçek nerede? :)
SyRenity

Sunumumun daha gerçekçi göründüğüne inanıyorum. Aynı anda bir VM'den daha fazla çalışır. Test protokolü gerçeğe daha yakın görünüyor.
Antoine Benkemoun

+1 İlginç sunum! Xen daha iyi bir izolasyona sahip görünüyor.
Jonas

5

Burada bir uzuvda çıkıyor olabilirim, ancak bu gibi teknolojiler söz konusu olduğunda ham performansın en önemli ölçüm olduğunu düşünmüyorum.

Kullanılabilirlik ve arabirimin, güvenilir bir altyapıyı destekleyen araçların yanı sıra önemli olduğunu düşünüyorum. Bana göre, Xen, KVM'den çok daha güçlü bir dizi mevcut uygulamayı destekliyor. Bunu destekleyecek hiçbir kanıtım olmadığı için durum böyle olmayabilir.

Neye giderseniz gidin, sizin için en iyi çözümün ne olduğuna karar verin ve sadece ham performansa değil tüm pakete bakın.


RHEV'e bir göz atmanız gerekir - yönetim çok basit ve kullanıcı dostudur.
dyasny

2

KVM'yi kurmadaki zorluk veya kolaylığın çoğu dağıtıma bağlıdır. Xen merkezli bir dağıtım seçmek Xen'i kolaylaştıracak. KVM merkezli bir dağıtım seçmek KVM'yi kolaylaştıracak.

Her ikisi de libvirt kullandığı için araçlar sorusu biraz alakasızdır. Bu, çoğu durumda aynı yönetim araçlarını kullandığınız anlamına gelir.


1

2017 yılının sonunda, daha önce en büyük Xen kullanıcısı olan Amazon, KVM'yi tüm yeni C5 örnek tipleri için kullanacağını açıkladı . Bildiğim kadarıyla, yalnızca bulut sağlayıcısı SoftLayer büyük bir Xen kullanıcısı olarak kaldı. Linode 2015 yılında değişti ve büyük performans iyileştirmeleri bildirdi .

Gerçekçi ve güncel performans karşılaştırması bulmak zordur, ancak her iki çözüm arasında düşündüğünüz kadar büyük bir fark olmadığı görülüyor. Kullanım durumuna bağlı olarak, Xen daha hızlı olabilir. KVM'nin Linux çekirdeğinin bir parçası olması ve RedHat tarafından benimsenmesi gibi diğer avantajları da vardır. Örneğin, bu cevap Google’ın Google Compute Engine için neden KVM’yi seçtiğini açıklamaktadır.

Yine de, hemen hemen tüm bulut sağlayıcıların, özellikle Google ve Amazon’un Xen’den KVM’yi seçmesi, tipik iş yükleri için KVM’nin performans açısından çok iyi bir seçim olduğu konusunda güçlü bir argüman.


Not: Amazon, KVM'nin değiştirilmiş sürümünü kullanır, yerel değil. Ve tipik bir iş yüküne sahip olduklarını söyleyemem, muhtemelen çok ağır ve nadir bir iş yüküne
sahipler

@ALex_hha Demek istediğim, müşterilerinin çalışacağı uygulamalar için en uygun teknolojiyi seçmek zorunda kalmaları. Bu anlamda, farklı kullanım durumlarına göre hızlı olan bir kurulum bulmak zorundalar. Ancak, Xen'in daha olumlu bir şekilde karşılaştırılabileceği gömülü sistemler gibi başka senaryolar olduğuna katılıyorum.
Philipp Claßen
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.