Xen vs KVM dalam kinerja

36

Apa yang lebih cepat pada perangkat keras yang sama, Xen atau KVM?

Saya mencoba mengambil teknologi virtualisasi agar berfungsi, yang memberikan kinerja terbaik.

Ada beberapa tolok ukur di sini yang saya temukan pada subjek: http://virt.kernelnewbies.org/XenVsKVM

Mereka menunjukkan KVM sebagai pemenang, dengan perbedaan kinerja yang signifikan - yang bertentangan dengan gagasan bahwa KVM adalah hypervisor tipe-2, dan menurut definisi itu harus lebih lambat daripada hypervisor Tipe-1 (seperti Xen) - atau setidaknya seperti apa artikel di web katakan.

Ada ide tentang masalah ini?

SyRenity
sumber
Perbandingan itu tampaknya sangat buruk karena membandingkan KVM + 1xVM dan Xen + 1VM ... Apa gunanya memiliki virtualisasi jika Anda hanya menggunakan VM?
Antoine Benkemoun
KVM BUKAN hypervisor tipe 2. Ini jelas tipe-1, dan pasti lebih dekat ke perangkat keras daripada Xen. Jadi ya, mengingat kondisi yang sama persis, KVM harus berkinerja lebih baik, terutama dengan driver virtio modern
dyasny
Jika Anda membaca ini pada 2017 (seseorang melakukan edit sepele untuk pertanyaan) maka sadari bahwa pertanyaan ini dan jawabannya adalah DELAPAN TAHUN TERLALU . Lansekap KVM vs Xen sangat berbeda sekarang.
thomasrutter

Jawaban:

33

Tolok ukur itu hanya membandingkan kecepatan OS asli ke satu OS tamu. Ini bukan ujian dunia nyata. Saya pikir saya tidak akan terlalu membebani. Sebagian besar kamp KVM berpendapat bahwa Xen membutuhkan terlalu banyak interupsi dan hop antara kernel dan ruang pengguna, tetapi dari sebagian besar tolok ukur dunia nyata yang saya lihat belum benar-benar terealisasi dan Xen tampaknya sedikit lebih cepat dari KVM.

Maaf saya tidak memiliki tautan untuk mendukungnya. Tapi saya akan mengatakan bahwa KVM membaik dengan cepat dan tampaknya mengejar set fitur dan stabilitas dengan cepat.

Pendekatan mana yang lebih baik. Kamp Xen akan berpendapat bahwa hypervisor ringan yang benar diperlukan virtualisasi agar aman dan cepat. Xen juga mulai didukung dalam firmware oleh beberapa vendor yang juga bagus. Kamp KVM akan berpendapat bahwa KVM lebih sederhana dan bahwa Linux mampu menjadi hypervisor yang baik.

Pada akhirnya masih belum jelas arah mana yang pada akhirnya akan menang. Xen tentu memiliki awal yang baik dan sudah memiliki pangsa pasar yang bagus. Tapi itu belum di kernel arus utama. Mudah-mudahan itu akan berubah segera dan tentu saja ada banyak pembicaraan tentang ini pada daftar kernel dalam beberapa bulan terakhir. Red Hat ada di kubu KVM sekarang dan akan mendorongnya sebagai platform pilihan virtualisasi. Red Hat Linux 5.4 yang akan segera hadir akan menjadi yang pertama memasukkannya. Sehingga kemungkinan akan menarik toko-toko yang belum meluncurkan atau berkomitmen untuk platform virtualisasi.

Sejauh alat berjalan, baik Xen dan KVM menggunakan libvirt dan QEMU dan alat-alat yang terkait dengannya. Jadi mereka berbagi banyak alat yang sama seperti manajer kebajikan.

Kami menggunakan Xen di tempat kerja, dan itu bekerja dengan baik untuk kami. Tapi saya sudah mencari KVM karena beberapa masalah penerusan USB dan PCI yang tidak bisa saya selesaikan dengan Xen. Saya tidak yakin KVM lebih baik dalam hal ini, tapi saya rasa saya akan mengetahuinya begitu saya mencobanya. Satu hal yang saya perhatikan dalam meneliti masalah USB saya adalah bahwa dokumentasi KVM lebih dapat dinilai dan terorganisir dibandingkan dengan Xen. Tetapi tidak ada platform virtualisasi yang sempurna sehingga Anda harus mencari tahu apa yang masuk akal untuk Anda.

Pengaruh 3d
sumber
Adakah ide yang sama akan berlaku di masa depan? Karena Redhat 5.4 akan segera hadir dengan dukungan KVM asli, saya ingin tahu apa yang saya tidak perlu beralih ke KVM dari Xen dalam 1/2 tahun. Terima kasih.
SyRenity
1
Saya tidak bisa membuat prediksi tentang apa yang akan terjadi di masa depan. Tapi tak satu pun dari platform ini akan menghilang. RedHat mengatakan bahwa mereka berkomitmen untuk mendukung Xen dan juga KVM. Hanya waktu yang akan menentukan bagaimana permainan ini berlangsung. Tapi saya tidak akan khawatir harus berubah dalam 6 bulan. Mungkin dalam beberapa tahun akan ada pemimpin yang jelas dalam platform virtualisasi opensource.
3dinfluence
Menarik Anda perhatikan pindah ke KVM untuk dukungan USB - Saya baru saja berpikir untuk pindah karena kurangnya dukungan USB 2.0! Saya menduga dari posting Anda bahwa Xen tidak akan jauh lebih baik.
jkp
1
@ jkp Saya sedang menunggu beberapa bagian dari infrastruktur kami untuk diganti. Yang baru saja selesai. Jadi dalam beberapa minggu mendatang saya mungkin bisa melihat lebih dekat pada KVM. Namun dalam kasus saya perangkat keras tidak mendukung IOMMU (VTd). Jadi saya tidak yakin apakah pindah ke KVM akan membantu. XEN membutuhkan dukungan IOMMU untuk pci passthrough. Tetapi KVM mendukung elemen USB dan PCI passthrough menggunakan libvirt. Jadi saya berharap itu akan berhasil tanpa IOMMU. Saat ini di bawah Xen satu-satunya cara yang saya tahu untuk melewati USB adalah dengan melewati pengontrol PCI USB tetapi informasi tersebut mungkin bertanggal saat ini.
3dinfluence
1
@ 3dinfluence: Saya pikir Anda mungkin salah memahami bagaimana dukungan USB dan PCI diterapkan - libvirt tidak melakukan hal-hal ini sendiri, itu hanya menyediakan cara mengkonfigurasi kemampuan yang mendasar dari VM hypervisor. Dalam hal ini kemampuan disediakan oleh kombinasi modul kernel KVM dan kode ruang pengguna Qemu.
jkp
7

Saya pribadi akan memilih virtualisasi berdasarkan kegunaan, dukungan, keandalan, dan kesesuaian untuk mesin virtual yang Anda gunakan.

Kecepatan transfer data jaringan Xen tampaknya sama baiknya dengan perangkat keras yang asli, tetapi saya juga memiliki beberapa pertempuran dengan Xen dan vLans dan beberapa kartu Ethernet. Saya tidak memiliki pengalaman KVM, tetapi saya juga menyarankan agar Anda mempertimbangkan VMware ESX (i) juga.

Michael Shaw
sumber
1
Kinerja server IO Vmware sangat, sangat buruk. Jika Anda harus menggunakan vmware, gunakan esx.
ko-dos
6

FWIW: Jawabannya tergantung sepenuhnya pada kebutuhan Anda, sekarang dan di masa depan.

Ya, saya tahu itu jawaban yang tidak membantu. Sayangnya itu benar. Pilihan virtualisasi Anda akan memengaruhi hampir semua yang Anda lakukan sesudahnya, jadi Anda perlu bertanya pada diri sendiri beberapa pertanyaan.

(1) Apakah perbedaan antara 97% kinerja asli dan 96% kinerja asli (angka yang dicabut dari udara) benar-benar penting bagi Anda?

(1a) Jika yang satu lebih baik dengan akses HD (yang benar-benar menyiratkan bahwa Anda menggunakan basis data yang hebat, atau Anda tidak mampu mendapatkan RAM tambahan), dan yang lain lebih baik dengan jaringan, yang lebih penting bagi Anda ?

(2) Apakah Anda yakin menggunakan alat yang disediakan dengan salah satu solusi?

(3) Apakah fakta bahwa satu (asli) asli kernel Linux baru-baru ini, dan yang lain tidak, membuat perbedaan?

(3a) Apakah Anda sekarang, atau pernahkah Anda ... er ... apakah Anda perlu menjalankan OS yang berbeda di bawah virtualisasi? Tidak harus Windows. Mungkin FreeBSD, atau bahkan Haiku, atau apa pun. (Xen mungkin menang di sini, tapi saya sarankan Anda periksa.)

Melihat gambaran besarnya, saya melihat KVM sebagai jawaban Linux untuk zona Solaris. (Saya lebih suka memiliki zona Solaris, tapi saya melihat paralelnya.) Saya melihat Xen sebagai teknologi hypervisor dewasa dengan dukungan untuk banyak OS, tetapi kemudian jika Anda tidak membutuhkan banyak OS, itu tidak terlalu menjadi masalah.

Sejujurnya, Anda tidak bisa salah jauh (diberikan peringatan di atas). Saya lebih suka Xen, karena saya pergi ke Cambridge; tetapi kemudian, jika saya bekerja untuk RH, saya mungkin lebih suka KVM.


sumber
6

Anda akan menemukan informasi yang sangat menarik tentang subjek dalam presentasi berikut: Perbandingan Kuantitatif Xen dan KVM

Orang yang melakukan ini adalah pakar Xen, tetapi perbandingannya tampaknya cukup adil.

Antoine Benkemoun
sumber
Terima kasih atas presentasinya, membaca bahwa sementara Xen menduduki peringkat teratas pada CPU dan Network IO, KVM bertengger pada HD IO. Tetapi membaca angka-angka ini ( virt.kernelnewbies.org/XenVsKVM ), tampaknya KVM menang dalam setiap perbandingan. Adakah yang tahu di mana kebenarannya? :)
SyRenity
Saya percaya presentasi saya tampaknya lebih realistis. Ini berjalan lebih dari satu VM pada saat itu. Protokol pengujian tampaknya lebih dekat dengan kenyataan.
Antoine Benkemoun
+1 presentasi yang menarik! Xen tampaknya memiliki isolasi yang lebih baik.
Jonas
5

Saya mungkin akan mengambil risiko di sini, tapi saya tidak berpikir bahwa kinerja mentah adalah metrik yang paling penting ketika datang ke teknologi seperti ini.

Saya pikir kegunaan dan antarmuka adalah penting, serta alat untuk mendukung infrastruktur yang andal. Bagi saya Xen memiliki seperangkat aplikasi yang ada yang jauh lebih kuat yang mendukungnya daripada KVM. Mungkin bukan itu masalahnya, karena saya tidak punya bukti untuk mendukungnya.

Apa pun yang Anda lakukan, tentukan solusi apa yang terbaik untuk Anda, dan lihat seluruh paket, bukan hanya kinerja mentah.

Matt Simmons
sumber
Anda perlu melihat RHEV - manajemennya sangat sederhana dan ramah pengguna.
dyasny
2

Banyak kesulitan atau kemudahan dalam mengatur KVM tergantung pada distribusi. Memilih distribusi Xen-sentris akan membuat Xen lebih mudah. Memilih distribusi KVM-sentris akan membuat KVM lebih mudah.

Pertanyaan alat agak tidak relevan karena keduanya menggunakan libvirt. Ini berarti Anda menggunakan alat manajemen yang sama untuk keduanya dalam kebanyakan kasus.


sumber
1

Pada akhir 2017, Amazon yang sebelumnya adalah pengguna Xen terbesar, mengumumkan bahwa mereka akan menggunakan KVM untuk semua tipe instance C5 baru mereka . Sejauh pengetahuan saya, hanya penyedia cloud SoftLayer yang tersisa sebagai pengguna Xen besar. Linode beralih pada 2015, dan melaporkan peningkatan kinerja utama .

Sulit untuk menemukan perbandingan kinerja yang realistis dan terkini, tetapi tampaknya tidak ada kesenjangan yang sangat besar antara kedua solusi seperti yang mungkin Anda pikirkan. Tergantung pada kasus penggunaan, Xen bisa lebih cepat. KVM memiliki manfaat lain, menjadi bagian dari kernel Linux dan dianut oleh RedHat, yang juga relevan. Misalnya, jawaban ini menguraikan mengapa Google memilih KVM untuk Google Compute Engine.

Namun, fakta bahwa hampir semua penyedia cloud, terutama Google dan Amazon, memilih KVM daripada Xen adalah argumen kuat bahwa untuk beban kerja yang umum, KVM adalah pilihan yang sangat baik dalam hal kinerja.

Philipp Claßen
sumber
Catatan: Amazon menggunakan versi KVM yang dimodifikasi, bukan yang asli. Dan saya tidak akan mengatakan bahwa mereka memiliki beban kerja yang khas, mungkin mereka memiliki beban kerja yang sangat berat dan tidak biasa, imho
ALex_hha
@ALex_hha Yang saya maksudkan adalah mereka harus memilih teknologi yang paling cocok untuk aplikasi yang akan dijalankan oleh pelanggan mereka. Dalam hal ini, mereka harus menemukan pengaturan yang lebih cepat dari berbagai kasus penggunaan. Tapi saya setuju bahwa ada beberapa skenario lain, seperti embedded system, di mana Xen dapat dibandingkan lebih menguntungkan.
Philipp Claßen