sviluppo-web-qa.it

Xen vs. KVM in termini di prestazioni

Cosa c'è di più veloce sullo stesso hardware, Xen o KVM?

Sto cercando di far funzionare una tecnologia di virtualizzazione, che offre le migliori prestazioni.

Ci sono alcuni benchmark qui che ho trovato sull'argomento: http://virt.kernelnewbies.org/XenVsKVM

Mostrano KVM come vincitore, con una differenza significativa nelle prestazioni - il che va contro l'idea che KVM è un hypervisor di tipo 2, e per definizione dovrebbe essere più lento degli hypervisor di tipo 1 (come Xen) - o almeno quello che dicono gli articoli sul web.

Qualche idea sull'argomento?

37
SyRenity

Tale benchmark confronta solo la velocità del sistema operativo nativo con un singolo sistema operativo guest. Non è certo un test nel mondo reale. Non penso che ci darei molto peso. La maggior parte del campo KVM sostiene che Xen richiede troppi interruzioni e salti tra il kernel e lo spazio utente, ma dalla maggior parte dei benchmark del mondo reale che ho visto che non è stato realizzato e Xen sembra essere un po 'più veloce di KVM.

Mi dispiace non ho un link per eseguire il backup a portata di mano. Ma dirò che KVM sta migliorando rapidamente e sembra recuperare rapidamente il set di funzionalità e la stabilità.

Per quanto riguarda quale approccio è migliore. Il campo di Xen sosterrà che un vero hypervisor leggero richiede che la virtualizzazione sia sicura e veloce. Xen sta anche iniziando a essere supportato nel firmware da alcuni venditori, che è anche bello. Il campo KVM sosterrà che KVM è più semplice e che Linux è in grado di essere un buon hypervisor.

Alla fine non è ancora chiaro quale direzione alla fine vincerà. Xen ha sicuramente un vantaggio e ha già una quota di mercato di Nizza. Ma non è ancora nel kernel mainline. Spero che presto cambierà e negli ultimi mesi si è parlato molto di questo nell'elenco dei kernel. Red Hat è nel campo KVM ora e lo spingerà come piattaforma di virtualizzazione preferita. Red Hat Linux 5.4 che uscirà a breve sarà il primo a includerlo. Quindi probabilmente attirare negozi che non sono ancora stati implementati o impegnati in una piattaforma di virtualizzazione.

Per quanto riguarda gli strumenti, sia Xen che KVM usano libvirt e QEMU e gli strumenti ad essi associati. Quindi condividono molti degli stessi strumenti come virt-manager.

Usiamo Xen al lavoro e funziona bene per noi. Ma ho esaminato KVM a causa di alcuni problemi di inoltro USB e passthrough PCI che non sono stato in grado di risolvere con Xen. Non sono sicuro KVM = è meglio in questo, ma immagino che lo scoprirò una volta provato. Una cosa che ho notato nella ricerca dei miei problemi USB è che la documentazione di KVM è più valutabile e organizzata rispetto a quella di Xen. Ma non esiste una piattaforma di virtualizzazione perfetta quindi dovrai capire cosa ha senso per te.

33
3dinfluence

Personalmente sceglierei la virtualizzazione in base a usabilità, supporto, affidabilità e idoneità per le macchine virtuali che stai utilizzando.

Le velocità di trasferimento dei dati di rete Xen sembrano essere buone quanto l'hardware reale, ma ho anche avuto alcune battaglie con Xen e vLan e più schede Ethernet. Non ho esperienza con KVM, ma suggerirei anche di prendere in considerazione VMware ESX (i).

7
Michael Shaw

Troverai informazioni molto interessanti sull'argomento nella seguente presentazione: Confronto quantitativo di Xen e KVM

La persona che ha fatto questo è un esperto di Xen, ma il confronto sembra abbastanza giusto.

6

FWIW: la risposta dipende interamente dalle tue esigenze, ora e in futuro.

Sì, lo so che è una risposta inutile. Sfortunatamente, è vero. La tua scelta di virtualizzazione influirà praticamente su tutto ciò che fai in seguito, quindi devi porsi alcune domande.

(1) La differenza tra il 97% della performance nativa e il 96% della performance nativa (cifre prese in volo) è davvero così importante per te?

(1a) Se uno fa di meglio con l'accesso all'HD (il che implica davvero che stai utilizzando un database eccezionale o che non puoi permetterti la RAM aggiuntiva), e l'altro fa meglio con la rete, che è più importante per te ?

(2) Sei sicuro di usare gli strumenti forniti con entrambe le soluzioni?

(3) Il fatto che uno sia (in qualche modo) nativo di kernel Linux recenti e l'altro no, fa la differenza?

(3a) Ora, o sei mai stato ... ehm ... avrai mai bisogno di eseguire un diverso sistema operativo sotto virtualizzazione? Non deve essere Windows. Potrebbe essere FreeBSD, o anche Haiku, o altro. (Probabilmente Xen vince qui, ma ti consiglio di controllare.)

Guardando il quadro generale, vedo KVM come risposta di Linux alle zone di Solaris. (Preferirei avere zone di Solaris, ma vedo il parallelo.) Vedo Xen come una tecnologia hypervisor matura con supporto per più sistemi operativi, ma se non hai bisogno di più sistemi operativi, non importa così tanto.

Per essere assolutamente onesti, non puoi andare molto lontano in entrambi i modi (date avvertenze sopra). Preferisco Xen, perché sono andato a Cambridge; ma poi, se lavorassi per RH, probabilmente preferirei KVM.

6
Dr Loser

Potrei andare fuori di testa qui, ma non credo che le prestazioni grezze siano la metrica più importante quando si tratta di tecnologie come questa.

Penso che l'usabilità e l'interfaccia siano importanti, nonché strumenti per supportare un'infrastruttura affidabile. Mi sembra che Xen abbia un set molto più robusto di applicazioni esistenti che lo supportano rispetto a KVM. Questo potrebbe non essere il caso, in quanto non ho prove a sostegno.

Qualunque cosa tu scelga, decidi qual è la soluzione migliore per te e guarda l'intero pacchetto, non solo le prestazioni non elaborate.

5
Matt Simmons

Molta difficoltà o facilità nell'impostare KVM dipende dalla distribuzione. Scegliere una distribuzione Xen-centrica renderà Xen più semplice. Scegliere una distribuzione KVM-centrica renderà KVM più facile.

La domanda relativa agli strumenti è in qualche modo irrilevante perché entrambi usano libvirt. Ciò significa che nella maggior parte dei casi usi gli stessi strumenti di gestione per entrambi.

2
G Jones

Alla fine del 2017, Amazon, che in precedenza era il più grande utente Xen, ha annunciato che utilizzerà KVM per tutti i nuovi tipi di istanza C5 . Per quanto ne so, solo il fornitore di cloud SoftLayer è lasciato come un grande utente Xen. Linode è passato nel 2015 e ha riportato importanti miglioramenti delle prestazioni .

È difficile trovare un confronto delle prestazioni realistico e aggiornato, ma non sembra esserci un divario così grande tra le due soluzioni come si potrebbe pensare. A seconda del caso d'uso, Xen può essere ancora più veloce. KVM ha altri vantaggi, essendo parte del kernel Linux e abbracciato da RedHat, che sono anche rilevanti. Ad esempio, questa risposta spiega perché Google sceglie KVM per Google Compute Engine.

Tuttavia, il fatto che quasi tutti i fornitori di cloud, in particolare Google e Amazon, stiano scegliendo KVM su Xen è un argomento forte che per i carichi di lavoro tipici, KVM è un ottima scelta in termini di prestazioni.

1
Philipp Claßen