KVM vs Xen vs Virtual box — Server setup, which is most performant

kvm-virtualizationperformancevirtualboxxen

Have read quite a few posts/articles on the web, including several QnA threads here at serverfault. However, I am quite confounded by the divergence of opinion. Given that much of what was share was opinion, I tend to rely a bit more on data backed analysis s.a. here link text. The only reason I am unable to trust them 100% either, is that they were using Windows guest, and in my case I want a setup comprising of homogeneous all-Linux Host/Guests, i.e. Host being CentOS, and all Guests being CentOS as well. Also, I believe that there may be few tweakable parameters which can get much better performance out of Xen/KVM. Possibly tweaking the kernel interrupt timer (100Hz / 250Hz etc.) ?

Given that most Cloud hosting architectures typically rely on Paravirtualized setups, I wonder if they are really sacrificing performance ? For an co. running thousands of hosts, a 10% performance loss means quite a significant amount in CAPEX and OPEX.

Does anyone have some research material (hopefully backed by data/statistics) which shows which kind of Virtualization is better for which type of workload ? Especially in a all Linux setup ?

My requirement is for running servers, and my workloads are:-
type-1: rdbms, with very frequent writes
type-2: rdbms, with very frequent reads
type-3: media encoder (audio / video) — extremely CPU (int & float) and memory intensive
type-4: static HTML dispenser
type-5: dynamic HTML app-engine (business logic)

The setup planned is for a colo private cloud.

TIA,
m

Best Answer

I can't provide figures or comparisons, but if you're using CentOS, you are IMO best off going for KVM. The reason being - this is the hypervisor developed and maintained by Red Hat, and it's no secret where CentOS comes from.

For best VM performance, make sure the IO intensive VMs are based on a fast backing storage, (a raid 10 LUN on a 4 or 8Gb FC SAN for example), and the disk format used is RAW and not qcow2 (unless you absolutely must use VM disk snapshots). And of course use virtio disk and network drivers

If this is a critical project, you might want to actually go for RHEV, for the extra features and ease of deployment, there are quite a few cloud providers using it extensively already.

Related Topic