Xen vs VirtualBox di bawah beban berat?

10

Yang berkinerja lebih baik di bawah penggunaan CPU dan memori yang berat di server virtual, Xen atau VirtualBox?

kekacauan
sumber

Jawaban:

25

Xen umumnya akan melakukan jauh lebih baik daripada VirtualBox karena VirtualBox menjalankan OS tamu dengan cara yang OS tamu tidak tahu itu berjalan di lingkungan virtual. Atau dengan kata lain, OS tamu tidak dimodifikasi untuk berjalan secara virtual. Karena itu, VirtualBox harus 'menjebak' instruksi tipe kernel, menjalankan beberapa kode khusus dan kemudian mengembalikan kontrol ke tamu. Itu dapat menggunakan dukungan virtualisasi perangkat keras yang disediakan oleh Intel dan AMD, tetapi bahkan kemudian biaya overhead bertambah.

Sementara itu Xen memastikan OS tamu dikompilasi ulang agar sesuai dengan model Xen. Jadi kontrol mengalir dengan lancar dari OS tamu ke hypervisor, tanpa overhead karena harus berpura-pura OS tamu memiliki akses langsung ke perangkat keras.

Untuk tinjauan umum dari beberapa teknologi virtualisasi, termasuk data dari tes kinerja, baca laporan ini . Itu hanya berbicara tentang Linux, tetapi mencakup Linux-Vserver, Xen, OpenVZ, KVM, VirtualBox dan QEMU. Linux-Vserver dan Xen umumnya berkinerja terbaik, tetapi baca laporan untuk melihat beban kerja yang berbeda.

Setelah mengatakan semua hal di atas, mungkin ada beberapa area di mana VirtualBox mengungguli Xen. Jika OS tamu Anda memiliki lapisan windowing grafis, maka VirtualBox memiliki dukungan yang baik untuk itu, terutama jika Anda menginstal beberapa komponen VirtualBox khusus di OS tamu.

Dan akhirnya Anda harus menyadari bahwa Xen hanya akan menjalankan OS tamu yang dimodifikasi. Itu tidak dapat menjalankan OS tamu yang tidak dimodifikasi.

Hamish Downer
sumber
2
Perhatikan bahwa mesin virtual pada xen menjalankan windows hanya dapat menggunakan satu inti!
Thomaschaaf
29

Jawaban Hamish Downer salah pada poin terakhir. Xen dapat menjalankan tamu yang belum dimodifikasi namun mereka harus dijalankan sebagai tamu HVM yang sepenuhnya tervirtualisasi. Melakukan hal ini mengharuskan komputer host memiliki dukungan virtualisasi perangkat keras dengan cpu Intel VT atau AMD-V yang mampu.

Xen dan Virtualbox masing-masing memiliki tempat tetapi mereka adalah dua jenis hypervisor yang berbeda. Xen adalah hypervisor Tipe 1 di mana Virtualbox adalah hypervisor Tipe 2. Tipe 1 hypervisor cenderung apa yang Anda temukan di lingkungan server di mana tipe 2 hypervisor cenderung lebih umum untuk menjalankan beberapa OS yang Anda berinteraksi dengan sebagai desktop. Saya pikir ini terutama karena kesederhanaan dan integrasi desktop yang lebih baik. Namun tamu di bawah hypervisor tipe 2 lebih jauh dari perangkat keras yang mendasarinya dan cenderung lebih lambat daripada tamu di bawah hypervisor tipe 1. Seperti halnya segala sesuatu selalu ada pengecualian untuk aturan.

Pengaruh 3d
sumber
2
Anda benar sekali :-) Jadi Anda mendapatkan +1
Antoine Benkemoun
3

Saya hanya dapat berbicara tentang Xen, karena saya hanya pernah menggunakan Virtualbox untuk virtualisasi mesin windows pada desktop mac saya.

Seperti yang telah disebutkan oleh orang lain, Xen (dan XenServer, yang didasarkan pada Xen) menggunakan kernel parvirtualized yang secara dramatis meningkatkan karakteristik kinerja Cpu dan Memory-terikat. Namun, ini hanya berlaku untuk host Linux dengan kernel khusus. Anda memerlukan kernel Xen- "diaktifkan" untuk dapat memanfaatkan ini.

Juga - Windows tidak mendukung tervirtualisasi dengan cara ini, tetapi ekstensi Intel VT dan AMD-V pada masing-masing CPU "menangkap" Windows dan membuatnya berperilaku dengan cara paravirtualized. Windows 2003 dan Windows 2000 tidak pernah menyadari bahwa mereka menjalankan virtualisasi, sementara Windows 2008, di sisi lain, mendeteksi ini dan berjalan dalam apa yang disebut mode "tercerahkan", yang dapat dibandingkan dengan mode Linux "paravirtualized".

pengguna1952
sumber