Xen vs. KVM in der Leistung


36

Was ist schneller auf derselben Hardware, Xen oder KVM?

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

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

Sie zeigen KVM als Sieger mit einem signifikanten Leistungsunterschied - was der Vorstellung widerspricht, dass KVM ein Typ-2-Hypervisor ist und per Definition langsamer als Typ-1-Hypervisoren (wie Xen) sein sollte - oder zumindest dem, was der ist Artikel im Web sagen.

Irgendeine Idee zu diesem Thema?


Dieser Vergleich scheint ziemlich schlecht zu sein, da er KVM + 1xVM und Xen + 1VM vergleicht ... Was bringt Virtualisierung, wenn Sie nur über VM verfügen?
Antoine Benkemoun

KVM ist KEIN Typ-2-Hypervisor. Es ist definitiv Typ 1 und definitiv näher an der Hardware als Xen. Also ja, unter genau den gleichen Bedingungen sollte KVM eine bessere Leistung erbringen, insbesondere mit den modernen virtIO-Treibern
dyasny

Wenn Sie dies im Jahr 2017 lesen (jemand hat die Frage geringfügig bearbeitet), stellen Sie fest, dass diese Frage und ihre Antworten ACHT JAHRE ALT sind . KVM vs Xen Landschaft ist jetzt sehr unterschiedlich.
Thomasrutter

Antworten:


33

Dieser Benchmark vergleicht nur die Geschwindigkeit des nativen Betriebssystems mit einem einzelnen Gastbetriebssystem. Es ist kaum ein realer Test. Ich glaube nicht, dass ich viel Gewicht darauf legen würde. Der Großteil des KVM-Lagers argumentiert, dass Xen zu viele Interrupts und Hops zwischen Kernel und User-Space erfordert, aber von den meisten realistischeren Benchmarks, die ich gesehen habe, ist Xen nicht wirklich realisiert worden und scheint ein bisschen schneller zu sein als KVM.

Tut mir leid, ich habe keinen Link, um das zu sichern. Aber ich werde sagen, dass KVM sich schnell verbessert und anscheinend schnell an Funktionsumfang und Stabilität gewinnt.

Welcher Ansatz ist besser. Das Xen-Camp wird argumentieren, dass für eine sichere und schnelle Virtualisierung ein wirklich leichter Hypervisor erforderlich ist. Xen wird ab sofort auch von einigen Anbietern in der Firmware unterstützt, was auch gut ist. Das KVM-Camp wird argumentieren, dass KVM einfacher ist und 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 schönen Marktanteil. Aber es ist noch nicht im Mainline-Kernel. Das wird sich hoffentlich bald ändern und darüber wurde in den letzten Monaten sicherlich viel auf der Kernelliste geredet. Red Hat ist jetzt im KVM-Camp und wird es als Virtualisierungsplattform der Wahl vorantreiben. Red Hat Linux 5.4, das in Kürze veröffentlicht wird, wird es als erstes enthalten. Dies wird wahrscheinlich Läden anziehen, die noch nicht auf eine Virtualisierungsplattform umgestiegen sind.

In Bezug auf Tools verwenden Xen und KVM sowohl libvirt als auch QEMU und die damit verbundenen Tools. Daher teilen sie viele der gleichen Tools wie beispielsweise virt-manager.

Wir verwenden Xen bei der Arbeit und es funktioniert gut für uns. Ich habe mich jedoch mit KVM befasst, da es Probleme mit der USB-Weiterleitung und dem PCI-Passthrough gab, die ich mit Xen nicht lösen konnte. Ich bin mir nicht sicher, ob KVM das besser kann, aber ich denke, ich werde es herausfinden, wenn ich es versuche. Eine Sache, die mir bei der Untersuchung meiner USB-Probleme aufgefallen ist, ist, dass die Dokumentation von KVM im Vergleich zu Xen besser beurteilt und organisiert werden kann. Da es jedoch keine perfekte Virtualisierungsplattform gibt, müssen Sie herausfinden, was für Sie sinnvoll ist.


Irgendeine Idee, ob das auch in Zukunft so sein wird? Da Redhat 5.4 in Kürze mit nativem KVM-Support erhältlich ist, möchte ich wissen, was ich in einem halben Jahr nicht von Xen auf KVM umstellen muss. Vielen Dank.
SyRenity

1
Ich kann keine Vorhersagen darüber machen, was die Zukunft bringt. Aber keine dieser Plattformen wird verschwinden. RedHat hat erklärt, dass sie Xen und KVM unterstützen. Nur die Zeit wird zeigen, wie sich dieser abspielt. Aber ich würde mir keine Sorgen machen, dass ich mich in 6 Monaten ändern muss. Vielleicht wird es in ein paar Jahren einen klaren Marktführer bei den Open Source-Virtualisierungsplattformen geben.
3 Einfluss

Interessant ist, dass Sie für die USB-Unterstützung auf KVM umsteigen - ich musste nur über einen Umzug nachdenken, da die USB 2.0-Unterstützung fehlt! Ich vermute von deinem Beitrag, dass Xen nicht viel besser werden wird.
JKP

1
@jkp Ich habe darauf gewartet, dass ein paar andere Teile unserer Infrastruktur ersetzt werden. Welches wurde gerade abgeschlossen. In den kommenden Wochen werde ich mir KVM vielleicht genauer ansehen können. In meinem Fall unterstützt die Hardware IOMMU (VTd) jedoch nicht. Ich bin mir also nicht sicher, ob ein Umstieg auf KVM hilfreich ist. Für XEN ist IOMMU-Unterstützung für PCI-Passthrough erforderlich. KVM unterstützt jedoch das Durchleiten von USB- und PCI-Elementen mithilfe von libvirt. Also hoffe ich, dass das ohne IOMMU klappt. Im Moment kann ich unter Xen nur den USB-PCI-Controller durchleiten, aber diese Informationen können an dieser Stelle datiert sein.
3dinfluence

1
@ 3dinfluence: Ich denke, Sie verstehen möglicherweise falsch, wie die USB- und PCI-Unterstützung implementiert ist. Libvirt führt keines dieser Dinge selbst aus, sondern bietet nur eine Möglichkeit zum Konfigurieren der zugrunde liegenden Funktionen des VM-Hypervisors. In diesem Fall werden die Funktionen durch eine Kombination der KVM-Kernelmodule und des Qemu-Userspace-Codes bereitgestellt.
JKP

7

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 zu sein wie echte Hardware, 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.


1
VMware Server IO-Leistung ist sehr, sehr schlecht. Wenn Sie VMware verwenden müssen, verwenden Sie esx.
Ko-Dos,

6

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

Ja, ich weiß, dass das keine hilfreiche Antwort ist. Leider stimmt es. Ihre Wahl der Virtualisierung wirkt sich auf so ziemlich alles aus, was Sie danach tun. Sie müssen sich also ein paar Fragen stellen.

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

(1a) Wenn einer mit HD-Zugriff besser abschneidet (was wirklich impliziert, dass Sie entweder eine großartige Datenbank verwenden oder sich den zusätzlichen Arbeitsspeicher nicht leisten können), und der andere mit Netzwerken besser abschneidet, was für Sie wichtiger ist ?

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

(3) Macht es einen Unterschied, dass einer der Kernel in neueren Linux-Versionen (irgendwie) ursprünglich ist und der andere nicht?

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

Wenn ich das Gesamtbild betrachte, sehe ich KVM als die Antwort von Linux 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 in keiner Weise viel falsch machen (siehe oben). Ich bevorzuge Xen, weil ich nach Cambridge gegangen bin. Aber wenn ich für RH arbeiten würde, würde ich wahrscheinlich KVM vorziehen.


6

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

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


Vielen Dank für die Präsentation. Während Xen bei CPU- und Netzwerk-E / A an erster Stelle steht, steht KVM bei HD-E / A an erster Stelle. Aber wenn man diese Zahlen liest ( virt.kernelnewbies.org/XenVsKVM ), scheint KVM bei jedem Vergleich die Nase vorn zu haben . Irgendeine Idee, wo die Wahrheit ist? :)
SyRenity

Ich glaube, meine Präsentation scheint realistischer zu sein. Es werden mehr als eine VM gleichzeitig ausgeführt. Das Testprotokoll scheint der Realität näher zu sein.
Antoine Benkemoun

+1 Interessante Präsentation! Xen scheint besser isoliert zu sein.
Jonas

5

Ich mag hier auf die Probe gestellt sein, aber ich denke nicht, dass die Rohleistung die wichtigste Messgröße ist, wenn es um solche Technologien geht.

Ich halte Benutzerfreundlichkeit und Benutzeroberfläche für wichtig sowie Tools zur Unterstützung einer zuverlässigen Infrastruktur. Es scheint mir, dass Xen eine weitaus robustere Sammlung vorhandener Anwendungen hat, die dies unterstützen als KVM. Dies ist möglicherweise nicht der Fall, da ich keine Beweise dafür habe.

Entscheiden Sie, welche Lösung für Sie die beste ist, und sehen Sie sich das gesamte Paket an, nicht nur die Rohleistung.


Sie müssen einen Blick auf RHEV werfen - das Management ist sehr einfach und benutzerfreundlich.
Dyasny

2

Die Schwierigkeit oder Leichtigkeit beim Einrichten von KVM hängt stark von der Verteilung ab. Durch die Auswahl einer Xen-zentrierten Distribution wird Xen einfacher. Durch die Auswahl einer KVM-zentrierten Distribution wird KVM einfacher.

Die Frage nach den Tools ist etwas irrelevant, da beide libvirt verwenden. Dies bedeutet, dass Sie in den meisten Fällen dieselben Verwaltungstools verwenden.


1

Ende 2017 gab Amazon, ehemals der größte Xen-Benutzer, bekannt, dass es KVM für alle neuen C5-Instanztypen verwenden wird . Nach meinem besten Wissen bleibt nur der Cloud-Anbieter SoftLayer als großer Xen-Nutzer übrig. Linode wechselte im Jahr 2015 und meldete wesentliche 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, da es Teil des Linux-Kernels ist und von RedHat unterstützt wird, die ebenfalls relevant sind. In dieser Antwort wird beispielsweise erläutert, warum Google KVM für Google Compute Engine ausgewählt hat.

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


Hinweis: Amazon verwendet eine modifizierte Version von KVM, keine native. Und ich würde nicht sagen, dass sie typische Arbeitslasten haben, wahrscheinlich haben sie wirklich schwere und ungewöhnliche Arbeitslasten, imho
ALex_hha

@ALex_hha Ich habe gemeint, dass sie eine Technologie auswählen müssen, die für die Anwendungen, die ihre Kunden ausführen, am besten geeignet ist. In diesem Sinne müssen sie ein Setup finden, das für verschiedene Anwendungsfälle schnell ist. Ich stimme jedoch zu, dass es andere Szenarien wie eingebettete Systeme gibt, in denen Xen möglicherweise günstiger ist.
Philipp Claßen
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.