[[PageOutline]] {{{ #!html

KVM vs Xen

}}} ---- = 【Xen 和 KVM 雙方辯論會】 = * Xen: 我效能很好勒 * KVM: 我都不用 Patch Kernel 勒 (VMware 表示:你們把我放在哪裡 @@a ) ---- = 【特性比較】 = || || '''使用的虛擬化技術''' || '''優點''' || '''與 Kernel 整合性''' || '''與硬體相依性''' || '''背後老大''' || || '''Xen''' || !ParaVirtualization[[BR]]Full Virtualization(需有 CPU 硬體支援) || CPU 效能佳 || Guest 於 2.6.23 整合進 Kernel[[BR]]但Host Kernel 仍需自行 Patch || 不一定要 Intel VT-x 或 AMD-V || 於2007年被 Citrix 併購 || || '''KVM''' || Full Virtualization(需有 CPU 硬體支援) || I/O 效能佳 || 2.6.20 已整合進 Kernel (2007/02) || 一定要有 Intel VT-x 或 AMD-V || Qumranet 於2008被 !RedHat 併購 || * 註:Intel 的 VT-x 的指令集為 vmx,AMD 的指令集為 svm * Xen 支援 VT-x、VT-i 和 SVM,KVM 則只支援 VT-x 和 SVM * 註:__CPU 排程__ - Xen 使用自己維護的 BVT(Borrowed Virtual Time)演算法,KVM 則使用 Linux Kernel 本身提供的 CPU 排程演算法 ---- = 【測試環境】 = * __'''硬體規格:'''__ || '''CPU''' || Intel® Core™2 Quad Processor Q6600 (8M Cache, 2.40 GHz, 1066 MHz FSB) [[BR]]支援 Intel VT-x || || '''Ram''' || 4GB || || '''NIC''' || RTL-8169 Gigabit Ethernet 10/100/1000 || || '''VGA''' || NVIDIA !GeForce 9400 GT || || '''Disk''' || SATA Disk 160GB || * __'''軟體規格:'''__ || '''OS''' || Debian Lenny 5.0.5(x86_64) | || '''Kernel''' || 2.6.26-2 || || '''Xen''' || 3.2.1 || || '''KVM''' || 72 || ---- = 【測試案例】 = == [1. CPU 效能比較] == || || '''Xen-PV''' || '''Xen-HVM''' || '''KVM''' || || '''VMmark''' || || || || || '''Phoronix Test Suite''' || || || || '''vm01 規格''' = 1CPU + 4GB HD + 1GB RAM + 128MB SWAP [[BR]] == [2. Memory 效能比較] == || || '''Xen-PV''' || '''Xen-HVM''' || '''KVM''' || || '''Phoronix Test Suite''' || || || || '''vm01 規格''' = 1CPU + 4GB HD + 1GB RAM + 128MB SWAP [[BR]] == [3. Graphics 效能比較] == * [http://trac.nchc.org.tw/grid/attachment/wiki/KVM_vs_Xen/Direct%20Access%20to%20Graphics%20Card%20Leveraging%20VT-d%20Technical%20Report.pdf Direct Access to Graphics Card Leveraging VT-d Technical Report] || || '''Xen-PV''' || '''Xen-HVM''' || '''KVM''' || || '''CUDA''' || || || || || '''Phoronix Test Suite''' || || || || '''vm01 規格''' = 1CPU + 4GB HD + 1GB RAM + 128MB SWAP [[BR]] == [4. I/O (Disk) 效能比較] == * 註:Xen 可選擇 file、[http://wiki.xensource.com/xenwiki/blktap tap:aio] 和 xen4.0 最新 [http://wiki.xensource.com/xenwiki/blktap2 tap:tapdisk:aio] 來設定 Guest disk * 註:KVM 可使用 [http://www.linux-kvm.org/page/Virtio virtio] 來增加 I/O 效能 (KVM >= 60, kernel >=2.6.25) * [http://www.scribd.com/doc/14683287/Virtualized-Block-Device-IO-Performance Virtualized Block Device I/O Performance] * 樓上那位大大的 Disk I/O 測試總結: * (1) Xen is actually pretty damn good[[BR]] (2) KVM performance is sorry with full device emulation (expected)[[BR]] (3) KVM+VirtIO is better, but nowhere near Xen Paravirt || || '''Xen-PV''' || '''Xen-HVM''' || '''KVM''' || || '''bonnie++''' || || || || || '''Phoronix Test Suite - dbench''' || [http://www.phoronix-test-suite.com/ Test Result (vm01)] || || || '''vm01 規格''' = 1CPU + 4GB HD + 1GB RAM + 128MB SWAP [[BR]] == [5. I/O (Network) 效能比較] == * [http://www.linux-kvm.com/content/kvm-developers-achieve-native-network-io-performance KVM developers achieve native network IO performance] * 此位大大的測試,使用 KVM PCI-passthrough 配合 Intel VT-d 可達到 Host 相同的網路效能 * [http://vmstudy.blogspot.com/2010/04/network-performance-test-xenkvm-vt-d.html Network Performance Test Xen/Kvm (VT-d and Para-virt drivers)] * 此位大大的測試看來,同樣使用 Para-virt + VT-d 的話 Xen 還是勝出 || || '''Xen-PV''' || '''Xen-HVM''' || '''KVM''' || || '''tbench''' || || || || || '''Phoronix Test Suite''' || || || || '''vm01 規格''' = 1CPU + 4GB HD + 1GB RAM + 128MB SWAP ---- = 【總結】 = * 綜合以上結果........... ---- = 【Reference】 = * [http://keithelder.net/blog/archive/2009/04/09/benchmarks-core-i7-vs-core-2-duo-vs-virtual-machine.aspx Benchmarks: Core i7 vs Core 2 Duo vs Virtual Machine] * [http://www.assyoma.it/index.php/knowledgebase/52-benchmark/102-virtual-machine-benchmark Virtual Machine Benchmark ] * [http://www.opensourcetesting.org/performance.php Open Source Performance test tools ] * [http://www.phoronix-test-suite.com/?k=home Phoronix Test Suite ]