Hyper-V VM performance

Hi all,

We have a brand new Windows Server 2012 R2 Standard Edition server (16GB RAM, 12 processors).

We want to use this server to run two Virtual Machines with Hyper-V only. Those two Virtual machines will also be Windows Server 2012 R2.

I have configured each of the two Virtual machines as follows:

-Startup memory: "5120". "Dynamic Memory for this virtual machine" selected.

-Fixed size virtual hard disk

-Selected "2" virtual processors

-The virtual machines are installed on a separate volume to the host servers Windows installation (E:)

Question:

The two Virtual Machines run well and are stable, however, they are very slightly slower than the host PC. For example, logging into Windows with RDC and waiting for "Server Manager" to load takes about 20 seconds longer on the Virtual Machines, compared to the Host.

Does it sound like there is anything else I can do to optimize the performance of the two virtual machines?

Thanks

Paul

January 27th, 2015 8:35pm

Personally, if I'm looking for performance on a VM - I tend not to use Dynamic Memory. The time taken to increase the Memory etc. can often present itself as "Performance Issues".

There will always be 5% performance hit that a VM suffers over a comparable Physical machine, this is to be expected.

Free Windows Admin Tool Kit Click here and download it now
January 27th, 2015 8:40pm

Your startup memory level is decently high.  What is the minimum?

Also, logon is a very read intensive activity - lots of read disk IO and some write for profiles.  I would first look at storage issues during logon.

Beyond that, it depends.

Dynamic Memory was designed for increased VM density.  The initial use case was VDI VMs.  Since you only have two VMs, you will gain little benefit.  Should it be impacting you in a negative way?  No.  Not unless you are running an application in your VMs that cannot deal with the memory of the VM changing while they are running (there are applications that just can't deal with it).

Since logging into the Hyper-V Server itself is faster - then again, check the disk IO, configuration, etc.  Since you already stated these are different volumes.

I have seen many folks create RAID volumes that are traditional RAID 5 designed for storage that are not optimized for activities such as logon, but instead optimized for databases.  So consider things like that.

January 27th, 2015 9:02pm

Hi all,

The Memory settings are as follows:

Startup RAM: 5120MB

Minimum RAM: 512MB

Maximum RAM: 1048576

memory Buffer: 20%

Would you say these settings are ok, or can they be improved?

I will untick "Enable Dynamic memory" as you both seem to agree this can have a minor performance hit.

Also, considering the PC has 12 processors and I will be running 2 VMs on the host, do you think 2 Virtual processors is optimal? (I found setting it to 4 processors make it slightly slower for some reason)

Thanks for all your advise so far,  I appreciate it.

Paul

Free Windows Admin Tool Kit Click here and download it now
January 28th, 2015 4:02pm

In the world of virtual machines; more resources does not (always) equal better performance - that observation is from experience.

Quite frequently too much vCPU can have negative performance impacts, too much RAM is simply a waste of resources, etc.

You can use Dynamic Memory as a tool to understand the RAM utilization behaviors of your VM.  Monitor how much RAM has been assigned while your VM is doing work - this allows you to 'right size' the VM RAM.

For CPU, you have to monitor the VM and the applications in the VM.

Watch the queue length of the disk IO on the volume where the virtual disks are stored.

And, running in a VM will ALWAYS be slower than bare metal.  I have seen folks state 5%.  That is the tax you pay for the flexibility of virtualization.

January 28th, 2015 4:38pm

This topic is archived. No further replies will be accepted.

Other recent topics Other recent topics