# Xen HVM <> KVM



## TruvisT (Aug 8, 2014)

So I am looking in to offering a type 1 hypervisor but I am curious as to which ones you all have prefered in terms of management in production. Personally, I would love to use Hyper-V (yes, I have become a M$ Fanboy after doing 2012 training) but there are no real control panel management for the hosting industry.

I've had a lot of requests over the weeks for options to run Windows based server and since we have some businesses who run ASP.NET websites/applications and they want to switch over to us, it would be nice to spin up some virtual contrainers of Server 2012 with IIS and set them up on their own containers.

I've seen the industry switch more towards KVM as Linux has developed and pushed for inkernel support. However, I know a lot of the bigger players prefer Xen.


----------



## SGC-Hosting (Aug 8, 2014)

We prefer KVM - performance is great and has better support.  I haven't tested Xen in years and I've *read* KVM has better Windows performance (so take that with a grain of salt).  I believe Xen is better for squeezing a few more virtual servers out of your host node.  I believe they're both based off of QEMU so they're not extremely different, but I also remember KVM being a lot easier to setup and get going than Xen HVM.


----------



## Shoaib_A (Aug 8, 2014)

I would recommend using KVM as all popular control panels like SolusVM, Virtualizor etc kind of ignore XEN in terms of features otherwise XEN HVM is as good as KVM. However, if your purpose is offering Windows only, you may also choose Virtuozzo containers for Windows also as they are very reliable & give better performance because overhead is hardly involved in containerization.

http://sp.parallels.com/products/parallels-containers-windows/


----------



## drserver (Aug 8, 2014)

Real life scenario, XEN PVHVM will eat KVM for a breakfast. Much more density, much more free CPU...

Tested on Windows 2008 and 2012


----------



## HalfEatenPie (Aug 8, 2014)

drserver said:


> Real life scenario, XEN PVHVM will eat KVM for a breakfast. Much more density, much more free CPU...
> 
> Tested on Windows 2008 and 2012


How?  Why?  What's the difference between KVM and Xen PVHVM that this situation is true? (sorry just asking for more detail)


----------



## DomainBop (Aug 8, 2014)

HalfEatenPie said:


> How?  Why?  What's the difference between KVM and Xen PVHVM that this situation is true? (sorry just asking for more detail)


fixed that for you...now look at this benchmark comparison of PV to PVHVM (not to be confused with HVM)

https://xen-orchestra.com/debian-pvhvm-vs-pv/


----------



## HalfEatenPie (Aug 8, 2014)

DomainBop said:


> fixed that for you...now look at this benchmark comparison of PV to PVHVM (not to be confused with HVM)
> 
> https://xen-orchestra.com/debian-pvhvm-vs-pv/


My bad.  Yeah I edited my initial post.  I was mostly just scanning over it.


----------



## BrianHarrison (Aug 8, 2014)

Anyone running Windows on Xen HVM without GPLPV drivers is missing out big time. The performance difference is dramatic.

Anyone have any benchmarks comparing Windows on Xen HVM with GPLPV to Windows on KVM?


----------



## xen-orchestra (Aug 9, 2014)

Hi everyone,

I'm the Xen Orchestra project leader. I made those benckmarks you quote comparing Xen PV vs PVHVM. I spent lot of time with Xen core team (hackathon, FOSDEM, LinuxCon etc.) so I start to know well their technologies 

GPLPV drivers avoid using QEMU (emulation) for Windows hosts, allowing direct calls to Xen, thus provide a shorter path for instructions (network, disk). For a Linux host, PVHVM is exactly the same stuff: you add PV drivers on the top of a HVM host ("emulated" BIOS).

But that's not the end of the journey: PVH mode will allow the best of the two worlds (PV vs HVM) with more elegance and speed than PVHVM.

If you want a complete article on the topic, I suggest this reading: http://www.brendangregg.com/blog/2014-05-07/what-color-is-your-xen.html

By the way, as I say at the start of this post, I'm the project leader of Xen Orchestra, which is a web GUI for XenServer (or Xen+XAPI). It will alllows soon to delegate roles to users (rights per VM etc.): perfect stuff for sell/rent VPS, so take a look 

If you have any question around Xen, tell me!


----------



## TruvisT (Aug 9, 2014)

xen-orchestra said:


> Hi everyone,
> 
> I'm the Xen Orchestra project leader. I made those benckmarks you quote comparing Xen PV vs PVHVM. I spent lot of time with Xen core team (hackathon, FOSDEM, LinuxCon etc.) so I start to know well their technologies
> 
> ...


@xen-orchestra welcome to the forums! It is always great to see new people, especially those who offer a product or service sign up and join us in discussions. You insights have been a very nice addition to this conversion.


----------



## TruvisT (Aug 9, 2014)

BrianHarrison said:


> Anyone running Windows on Xen HVM without GPLPV drivers is missing out big time. The performance difference is dramatic.
> 
> Anyone have any benchmarks comparing Windows on Xen HVM with GPLPV to Windows on KVM?


If I get some time next week I'll see about posting some benchmarks from the lab. Should have a few servers laying around not being used.


----------



## drserver (Aug 9, 2014)

Again real life scenario.

Idle VPS windows 2008r2 on kvm with windows guest drivers - CPU load 9%

Idle VPS windows 2008r2 on xenserver with xen guest tools - CPU load 4%

Idle VPS windows 2008r2 on xen 4.1 with gplpv drivers - CPU load 4%

Test platform was dual l5520, 

Only one thread assigned to have perfect testbed.


----------



## xen-orchestra (Aug 9, 2014)

It makes sense: XenServer + guest tools is roughly the same as Xen + GPLPV drivers (well, there is differences but not in this field).

XenServer is a packaged CentOS + tuned Xen + GPLPV drivers in Xen tools + XAPI + console tools + other various stuff. And it's open source! A turnkey appliance, really simple and fast to install. That's why now I recommend it. ^_^


----------



## Gaiacom_LC (Aug 9, 2014)

xen-orchestra said:


> It makes sense: XenServer + guest tools is roughly the same as Xen + GPLPV drivers (well, there is differences but not in this field).
> 
> XenServer is a packaged CentOS + tuned Xen + GPLPV drivers in Xen tools + XAPI + console tools + other various stuff. And it's open source! A turnkey appliance, really simple and fast to install. That's why now I recommend it. ^_^


Totally agreed. 

My vote goes to Xen when considering the production management aspect. Experience simply hasn't included many problems or hangups configuring, scripting, customizing Xen for production. 

I believe KVM delivers slightly better Windows performance on average, but gplpv/pv-on-hvm is quite capable and not a bad solution at all.


----------



## fm7 (Aug 9, 2014)

drserver said:


> Again real life scenario.
> 
> Idle VPS windows 2008r2 on kvm with windows guest drivers - CPU load 9%
> 
> ...


Idle VPS Windows 2012 on QEMU-KVM -> CPU load 1% (4 vCPU 2.1GHz  4,200 BogoMIPS)

Idle VPS Windows 2012 R2 on Hyper-V -> CPU load 2% (1 vCPU E5-2660 v2 2.20GHz)

Idle VPS Windows 2012 on VMware -> CPU load 1% (1 vCPU E5-2620 2.00GHz)

BTW

From http://blog.xen.org/index.php/2012/10/31/the-paravirtualization-spectrum-part-2-from-poles-to-a-spectrum/



> KVM does not have a paravirtualized interface for timers or interrupts; instead (if I understand correctly) it uses an emulated local APIC. Handling a full interrupt cycle for an emulated local APIC typically requires several MMIO accesses, each of which requires a context switch and an instruction emulation. The Xen PV interrupt interface is based on memory shared with the hypervisor, supplemented by hypercalls when necessary; so most operations can be done without context switches, and those that do require only a single context switch (and no instruction emulation). This was one of the major reasons for introducing PVHVM mode for Xen guests.
> 
> So KVM has paravirtualized devices and a paravirtualized clock, but not paravirtualized interrupts; placing KVM on the spectrum, it would be one step more paravirtualized than “FV with PV drivers”, but not as paravirtualized as PVHVM.


----------



## drserver (Aug 11, 2014)

@fm7 i will try to make test on modern e3 to see what is happening there as soon as i have empty node


----------

