[libvirt-users] How to best I/O performance for Window2008 and MSSQL guest VM

Roberto Fichera kernel at tekno-soft.it
Mon Dec 5 18:13:11 UTC 2016

Hi There,

I've moved some Windows2012 with MSSQL VMs from an hold ESXi 5.5 machine
to a more recent and powerful machine running Fedora 24 x86_64 and related libvirt + KVM
virtualization. I've moved the VMs filesystem to LVM slices and installed the VirtIO drivers
in to all Windows VMs. I've also set both Disk and Network interface to work using VirtIO.
So far so good everything works pretty fine. Now I would like to tune at best the MSSQL VM
for both Disk and Network interfaces in order to get the best performance possible.

Regarding network interface I've set it to work as bridge instead to go through to macvtap, so I'm
not sure what is the best in this case.

Regarding disk, since it's LVM I've chosen to go to cache mode none and IO mode native. Also
here cannot judge what's the best setup for the workload. I'm undecided to use IO mode threads
along directsync cache mode.

Finally I've set "ionice -c 1 -p <qemu-pid> -n 0" and "renice -n -10 <qemu-pid>" for the interested
VM that I want to get best performance possible.

Even with the above setup, the MSSQL VM has performance similar to the old machine running
ESXi 5.5, so does anyone can suggest where too look at and/or what would be the right setup?

Thanks in advance.
Roberto Fichera

More information about the libvirt-users mailing list