Frage Xen vs. KVM in Leistung


Was ist schneller auf der gleichen Hardware, Xen oder KVM?

Ich versuche, eine Virtualisierungstechnologie zum Laufen zu bringen, die die beste Leistung liefert.

Es gibt hier einige Benchmarks, die ich zu dem Thema gefunden habe: http://virt.kernelnewbies.org/XenVsKVM

Sie zeigen KVM als einen Gewinner, mit signifikanten Unterschied in der Leistung - was gegen die Idee, dass KVM ist ein Typ-2-Hypervisor, und per Definition sollte es langsamer sein als Typ-1-Hypervisor (wie Xen) - oder zumindest das, was die Artikel im Internet sagen.

Irgendeine Idee zu diesem Thema?


34
2017-07-17 03:07


Ursprung


Dieser Vergleich scheint ziemlich schlecht zu sein, da er KVM + 1xVM und Xen + 1VM vergleicht ... Was ist der Sinn einer Virtualisierung, wenn Sie nur eine VM haben? - Antoine Benkemoun
KVM ist KEIN Typ-2-Hypervisor. Es ist definitiv Typ-1, und es ist definitiv näher an der Hardware als Xen ist. Also, unter den gleichen Bedingungen sollte KVM besser laufen, besonders mit den modernen virtIO Treibern - dyasny
Wenn Sie das im Jahr 2017 lesen (jemand hat eine triviale Bearbeitung der Frage gemacht), dann stellen Sie fest, dass diese Frage und ihre Antworten sind ACHT JAHRE ALT. KVM vs Xen Landschaft ist jetzt sehr anders. - thomasrutter


Antworten:


Dieser Benchmark vergleicht nur die Geschwindigkeit des nativen Betriebssystems mit einem einzelnen Gastbetriebssystem. Es ist kaum ein echter Test. Ich glaube nicht, dass ich viel Gewicht darauf legen würde. Die meisten KVM-Camps argumentieren, dass Xen zu viele Interrupts und Hops zwischen Kernel und Userspace benötigt, aber von den meisten realen Benchmarks, die ich gesehen habe, ist das nicht wirklich realisiert worden und Xen scheint ein bisschen schneller zu sein als KVM.

Entschuldigung, ich habe keinen Link, um das zu erreichen. Aber ich werde sagen, dass KVM sich schnell verbessert und schnell auf Funktionen und Stabilität reagiert.

Welcher Ansatz ist besser? Das Xen-Camp wird argumentieren, dass ein wirklich leichter Hypervisor eine erforderliche Virtualisierung benötigt, um sicher und schnell zu sein. Xen wird auch von einigen Herstellern in der Firmware unterstützt, was auch nett ist. Das KVM-Camp wird argumentieren, dass KVM einfacher ist und dass Linux ein guter Hypervisor sein kann.

Am Ende ist noch unklar, welche Richtung letztendlich gewinnen wird. Xen hat sicherlich einen Vorsprung und hat bereits einen guten Marktanteil. Aber es ist noch nicht im Mainline-Kernel. Hoffentlich wird sich das bald ändern und darüber wurde in den letzten Monaten sicherlich viel auf der Kernel-Liste gesprochen. Red Hat ist jetzt im KVM-Camp und wird es als die Virtualisierungsplattform der Wahl vorantreiben. Red Hat Linux 5.4, das in Kürze erscheinen wird, wird es als erstes beinhalten. Das wird wahrscheinlich Geschäfte anlocken, die noch nicht ausgerollt oder einer Virtualisierungsplattform verpflichtet sind.

Was Werkzeuge angeht, verwenden sowohl Xen als auch KVM libvirt und QEMU und die damit verbundenen Tools. So teilen sie viele der gleichen Tools wie Virt-Manager.

Wir benutzen Xen bei der Arbeit und es funktioniert gut für uns. Aber ich habe KVM aufgrund einiger USB-Weiterleitung und PCI Passthrough-Probleme untersucht, die ich mit Xen nicht beheben konnte. Ich bin mir nicht sicher, KVM ist hier besser, aber ich denke, ich werde es herausfinden, sobald ich es versuche. Eine Sache, die ich bei der Untersuchung meiner USB-Probleme festgestellt habe, ist, dass die Dokumentation von KVM im Vergleich zu Xen überprüfbarer und besser organisiert ist. Aber es gibt keine perfekte Virtualisierungsplattform, daher müssen Sie herausfinden, was für Sie sinnvoll ist.


32
2017-07-17 04:22



Irgendeine Idee, wenn das selbe in der Zukunft halten wird? Da Redhat 5.4 bald mit nativer KVM-Unterstützung kommt, würde ich gerne wissen, was ich in 1/2 Jahr nicht von Xen auf KVM umstellen muss. Vielen Dank. - SyRenity
Ich kann keine Vorhersagen darüber treffen, was die Zukunft bringt. Aber keine dieser Plattformen wird verschwinden. RedHat hat gesagt, dass sie sowohl Xen als auch KVM unterstützen. Nur die Zeit wird zeigen, wie dieser ausgeht. Aber ich würde mir keine Sorgen machen, dass ich mich in 6 Monaten ändern muss. Vielleicht wird es in einigen Jahren einen klaren Marktführer bei den Open Source-Virtualisierungsplattformen geben. - 3dinfluence
Interessant, dass Sie auf KVM für die USB-Unterstützung umsteigen - ich musste nur darüber nachdenken, wegzuziehen wegen der fehlenden USB 2.0-Unterstützung! Ich schätze aus deinem Beitrag, dass Xen nicht viel besser sein wird. - jkp
@jkp Ich warte auf ein paar andere Teile unserer Infrastruktur ersetzt werden. Welches war gerade abgeschlossen. In den nächsten Wochen werde ich vielleicht KVM näher betrachten können. In meinem Fall unterstützt die Hardware IOMMU (VTd) nicht. Ich bin mir also nicht sicher, ob der Wechsel zu KVM helfen wird. XEN benötigt IOMMU-Unterstützung für Pci Passthrough. Aber KVM unterstützt USB und PCI-Element Passthrough mit libvirt. Ich hoffe also, dass das ohne IOMMU funktionieren wird. Gerade jetzt unter Xen ist der einzige Weg, den ich kenne, um USB durchzulassen, den USB PCI-Controller durchzulassen, aber diese Information kann an diesem Punkt datiert werden. - 3dinfluence
@ 3dinfluence: Ich denke, Sie könnten missverstehen, wie USB- und PCI-Unterstützung implementiert wird - libvirt macht keines dieser Dinge selbst, es bietet nur eine Möglichkeit, die zugrunde liegenden Fähigkeiten des VM-Hypervisors zu konfigurieren. In diesem Fall werden die Funktionen durch eine Kombination der KVM-Kernelmodule und des Qemu-Benutzerbereichscodes bereitgestellt. - jkp


Ich persönlich würde die Virtualisierung basierend auf Benutzerfreundlichkeit, Support, Zuverlässigkeit und Eignung für die von Ihnen verwendeten virtuellen Maschinen wählen.

Xen-Netzwerk-Datenübertragungsraten scheinen so gut wie echte Hardware zu sein, aber ich hatte auch einige Kämpfe mit Xen und vLans und mehreren Ethernet-Karten. Ich habe keine Erfahrung mit KVM, aber ich würde auch vorschlagen, dass Sie auch VMware ESX (i) in Betracht ziehen.


6
2017-07-17 14:00



Vmware Server IO Leistung ist sehr, sehr schlecht. Wenn Sie vmware gehen müssen, verwenden Sie esx. - ko-dos


FWIW: Die Antwort hängt ganz von Ihren Bedürfnissen ab, jetzt und in Zukunft.

Ja, ich weiß, das ist eine nicht hilfreiche Antwort. Leider ist es wahr. Ihre Wahl der Virtualisierung wird sich auf fast alles auswirken, was Sie danach tun, also müssen Sie sich ein paar Fragen stellen.

(1) Ist der Unterschied zwischen 97% nativer Leistung und 96% nativer Leistung (aus der Luft gegriffene Zahlen) wirklich so wichtig für Sie?

(1a) Wenn man mit dem HD-Zugang besser ist (was bedeutet, dass man entweder eine großartige Datenbank benutzt oder man sich den zusätzlichen Arbeitsspeicher nicht leisten kann), und der andere besser mit dem Netzwerk arbeitet, was für dich wichtiger ist ?

(2) Sind Sie sicher, die Tools zu verwenden, die mit beiden Lösungen geliefert werden?

(3) Ist die Tatsache, dass man (quasi) in neueren Linux-Kernen nativ ist und die andere nicht, einen Unterschied machen?

(3a) Bist du jetzt, oder warst du jemals ... äh ... wirst du jemals ein anderes Betriebssystem unter Virtualisierung ausführen müssen? Es muss nicht Windows sein. Es könnte FreeBSD oder sogar Haiku oder was auch immer sein. (Xen gewinnt wahrscheinlich hier, aber ich schlage vor, Sie überprüfen.)

Betrachtet man das Gesamtbild, sehe ich KVM als Linux-Antwort auf Solaris-Zonen. (Ich hätte lieber Solaris-Zonen, aber ich sehe die Parallele.) Ich sehe Xen als ausgereifte Hypervisor-Technologie mit Unterstützung für mehrere Betriebssysteme, aber wenn Sie nicht mehrere Betriebssysteme benötigen, ist das nicht so wichtig.

Um ganz ehrlich zu sein, kann man auch nicht so weit schief gehen (unter Vorbehalt). Ich bevorzuge Xen, weil ich nach Cambridge gegangen bin; Aber wenn ich für RH arbeite, würde ich wahrscheinlich KVM bevorzugen.


4
2017-08-14 18:01





In der folgenden Präsentation finden Sie sehr interessante Informationen zum Thema: Quantitativer Vergleich von Xen und KVM

Die Person, die das gemacht hat, ist ein Xen-Experte, aber der Vergleich scheint ziemlich fair zu sein.


4
2017-07-17 06:27



Danke für die Präsentation, lesen es scheint, dass, während Xen ist Spitze auf CPU und Netzwerk IO, KVM Tops auf HD IO. Aber diese Zahlen lesen (virt.kernelnewbies.org/XenVsKVM), scheint KVM bei jedem Vergleich Hände hoch zu bekommen. Irgendeine Idee wo ist die Wahrheit? :) - SyRenity
Ich glaube, dass meine Präsentation realistischer erscheint. Es läuft mehr als eine VM gleichzeitig. Das Testprotokoll scheint näher an der Realität zu liegen. - Antoine Benkemoun
+1 Interessante Präsentation! Xen scheint eine bessere Isolierung zu haben. - Jonas


Ich gehe hier vielleicht ein bisschen aus, aber ich denke nicht, dass rohe Leistung die wichtigste Kennzahl ist, wenn es um solche Technologien geht.

Ich denke, dass Benutzerfreundlichkeit und Benutzerfreundlichkeit sowie Tools zur Unterstützung einer zuverlässigen Infrastruktur wichtig sind. Es scheint mir, dass Xen eine viel robustere Reihe bestehender Anwendungen hat, die es unterstützen als KVM. Das könnte nicht der Fall sein, da ich keine Beweise dafür habe.

Entscheiden Sie, was die beste Lösung für Sie ist und schauen Sie sich das gesamte Paket an, nicht nur die rohe Leistung.


3
2017-07-17 03:11



Sie müssen sich RHEV ansehen - Management ist sehr einfach und benutzerfreundlich. - dyasny


Ein Großteil der Schwierigkeit oder Leichtigkeit beim Einrichten von KVM ist verteilungsabhängig. Durch die Auswahl einer Xen-zentrischen Distribution wird Xen einfacher. Die Auswahl einer KVM-zentrischen Distribution erleichtert KVM.

Die Werkzeugfrage ist irrelevant, da beide libvirt verwenden. Dies bedeutet, dass Sie in den meisten Fällen die gleichen Verwaltungstools für beide verwenden.


1
2017-08-07 18:54





Ende 2017 kündigte Amazon, der ehemals der größte Xen-Nutzer war, an, dass er es nutzen werde KVM für alle neuen C5-Instance-Typen. Soweit ich weiß, bleibt nur der Cloud-Anbieter SoftLayer als großer Xen-Nutzer übrig. Linode wechselte im Jahr 2015 und berichteten große Leistungsverbesserungen.

Es ist schwierig, einen realistischen und aktuellen Leistungsvergleich zu finden, aber es scheint keine so große Lücke zwischen beiden Lösungen zu geben, wie Sie vielleicht denken. Je nach Anwendungsfall kann Xen sogar noch schneller sein. KVM hat andere Vorteile, die Teil des Linux-Kernels sind und von RedHat übernommen werden, die ebenfalls relevant sind. Zum Beispiel, diese Antwort erklärt, warum Google KVM für Google Compute Engine wählt.

Dennoch ist die Tatsache, dass fast alle Cloud-Anbieter, insbesondere Google und Amazon, sich für KVM gegenüber Xen entscheiden, ein starkes Argument dafür, dass KVM für typische Workloads eine sehr gute Wahl in Bezug auf die Leistung ist.


0
2018-01-21 19:47



Hinweis: Amazon verwendet eine modifizierte Version von KVM, keine native Version. Und ich würde nicht sagen, dass sie typische Workloads haben, wahrscheinlich haben sie eine wirklich schwere und ungewöhnliche Workloads, imho - ALex_hha
@ALex_hha Was ich damit meinte, ist, dass sie eine Technologie auswählen müssen, die am besten für die Anwendungen funktioniert, die ihre Kunden ausführen. In diesem Sinne müssen sie ein Setup finden, das über verschiedene Anwendungsfälle hinweg schnell ist. Aber ich stimme zu, dass es andere Szenarien gibt, wie eingebettete Systeme, bei denen Xen besser vergleichbar sein kann. - Philipp Claßen