Tag: Hyperv

Hyper-V Disk Speed Musings

Hyper-V Disk Speed Musings

I was testing out the Intel 905P and getting the benchmark numbers, I also went ahead and installed HyperV, set it up correctly, and then created a Windows 2016 VM running and decided to run the same CrystalDiskMark benchmarks again, in the HyperV host as well as inside the VM.

I only had the one VM running, and the host was not doing anything other than hosting whilst I was running the benchmark

On the queue depth of 32, sequential reads and writes are where they should be.

On to queue depth 32 random reads and writes, and we can start to see a penalty.  Just wait.

At a queue depth of 1, sequential reads and writes are looking not too shabby.  The VM itself sees a reduction on reading, but not too bad.

And here we get to the interesting part.  Look at the random reads and writes from inside the VM.  I ran this test multiple times and the result was nearly the same numbers at every go.   From a VM, raw disk performance sees a tremendous, nay, massive hit.

I went so far as to reboot the host, rebuild the mirror, and ran the numbers again.  Each time was basically the same.  I made sure the virtual disk on the VM was not throttled, and it was a Gen 2 VM.

Quite odd.  I’m hoping to soon be able to test to see if perhaps the VHDX auto expanding setup was the culprit.  Stay tuned.

Hyper-V CPU Musings

Hyper-V CPU Musings

Recently I had the opportunity arise where I was able to test a few CPU core configurations on an unused host.

My gold here is to see if a CPU virtualization penalty exists and secondarily to see what effect hyperthreading has on CPU performance in a single VM setting.

Specs of the host:  Dual Xeon Gold 6144, 512GB RAM, SSD

HyperV version:  Windows 2016 (long term branch)

To start, here are the Cinebench R15 scores before HyperV was installed:

Hyperthreading enabled got a score of 3427 (left) whereas hyperthreading disabled got a score of 2680:


Next, installed Hyper-V, built a VM running the full GUI of 2012R2, fully updated.

First test, hyperthreading disabled, VM has 16 cores assigned:

Nice!! only 2 points off of the physical.

Now, enable hyperthreading at the host level.  VM still has 16 cores assigned:

Ouch, 1021 points lower (-38%).  Keep in mind all we did was enable hyperthreading on the host.  A 38% penalty just in that setting.

Next test, assign 32 cores to the same VM:

Above 3000 again.  191 points off (-5%) the physical install benchmark above.

And just because, 24 cores assigned to the VM:

Here we have 511 points off the physical host (-15%).


What did I learn?  With hyperthreading disabled, there is a virtualization penalty, but it barely registers.

It’s when hyperthreading is enabled that one has to be careful.  That large of a hit (-38%) is interesting to say the least.

That being said, with hyperthreading enabled and you assign all available logical cores to the VM, it wasn’t too shabby.

***DISCLAIMER*** I am not responsible for this breaking or damaging any of your stuff.  Copyrights belong to their original owners***