
For what they are worth, there numerous reviews/comparisons Xen v/s KVM on the web. In fact I was reading some only a few days ago. My impression is that: (I have been using KVM for over 5 yrs, and have very little Xen experience)) 1. While 4-5 yrs ago Xen was the indisputable winner regarding performance, KVM has improved gradually and the difference is not so great anymore, if any. 2. The main reason for KVM improvement would come from the virtio drivers for disk i/o. (Running an OS install with and without virtio enabled, will show the obvious difference) 3. There is not much between the 2 now. You could probably craft a particular configuration and usage scenario where KVM beats Xen and vice versa. Generally you are taking of a few % points difference either way. 4. There are still improvement being made in KVM. And you can be caught with even fairly recent versions (eg: in Ubuntu 14.04) not having all the latest features working properly. For example, I got caught with live merging of snapshots not working as expected with Ubuntu 14.04, but works in Jessie (it is a Qemu version issue). So you would have to make sure that whatever you were used to in Xen featurewise can be reproduced with KVM - it may or may not be the case. 5. KVM stability is rock solid for the yrs I have been using it. 6. There are many configuration options for KVM, so there are many ways to tune it for your particular usage. Although, if you are using hosted VMs these would be pre-determined by the provider, and you would have little or no configuration parameters for you to play with. (which would be the same with Xen I'd imagine!!) 7. Virt-manager works well with both for what I have ever needed it to and keeps improving. Daniel. On 14/10/15 16:20, Russell Coker wrote:
Xen has been widely regarded as the best performance VM for Linux for a long time. Oracle has been one of the advocates of Xen claiming very close to native hardware performance.
# 300% improvement in UnixBench score, with a KVM Linode vs a Xen Linode # 28% faster at compiling a Linux kernel with a KVM Linode vs a Xen Linode # Boot and shutdown times are greatly improved
Now Linode (one of the largest Xen sites) is moving to KVM, they list the above as benefits of KVM which surprises me. My experience of Xen is that the only way anything could be 300% faster is if it's an issue of disk IO scheduling on hard drives (as multiple virtual machines on the same spinning media causes contention and/or fragmentation issues depending on how you do it. But given that Linode was already using SSD for all storage that's obviously not what they are doing.
The last time I tried KVM on my laptop the performance was a lot slower than native performance as opposed to Xen which was near enough to native hardware performance that the difference didn't matter. I've never even tested KVM on a server because the performance on my laptop (admittedly a couple of years ago) was very disappointing. Last time I tested KVM performance was not only noticably worse (EG compiles of selinux-policy-default taking about 50% longer) but the increase in CPU use was an issue of cooling.
Has KVM improved a lot recently? How can anything be so much better than Xen when Xen has been so close to native performance for so long?
I've just chosen KVM for a new Linode instance. They allow me to choose Xen but say that KVM is the way of the future - presumably I would be forced to use KVM sooner or later so it seemed easier to use it now.