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

Blair Bethwaite blair.bethwaite at gmail.com
Wed Dec 7 02:42:19 UTC 2016


Hi Roberto,

On 6 December 2016 at 19:01, Roberto Fichera <kernel at tekno-soft.it> wrote:
> I've set to copy host configuration (16 cores) and memory is set to 24GB, host has 64GB.
> Guest is Windows 2012 64bits version

Is the guest configured with 16 cpus or 16 cores?

>> Are you pinning to dedicated CPUs,
>
>no

I would, to ensure cpu or cache performance is absolutely not a
problem, and it's simple to do (see vcpupin).

>> are you exposing host topology and cpu
>> features,
>
> Yes

So you have something like:

   <cpu mode='host-passthrough'>
      <topology sockets='1' cores='8' threads='2'/>

In your domain xml?

>> do you have dedicated I/O threads?
>
> if you are talking about disk I/O, no. Should I do that?

Hard to say what the problem is without a lot more information - maybe
the system in question is performance limited by the DB design...

But if you are bottlenecking on I/O in the guest whilst the host seems
to have more I/O available then you probably want to consider tuning
this:
https://libvirt.org/formatdomain.html#elementsIOThreadsAllocation

>> Are you backing the guest memory with hugepages?
>
> Don't know, how can I check or set it?

You can either use transparent huge pages (assuming you are not doing
any PCI passthrough), or create a static hugepage allocation for
guests. Search for documentation specific to your OS.

-- 
Cheers,
~Blairo




More information about the libvirt-users mailing list