Disk Latency High on Hyper V (20ms to 100ms for avg. disk write)

hyper-vhyper-v-server-2008-r2windows-server-2008

I am running Hyper V on a 12 GB, i7 Sever with 5 VMs running. I had the impression that the VMs operate quite slowly but the memory consumption and cpu utilization are not worth mentioning so I started the performance monitor and found out that there are two metrics that seem to be quite high:
Avg. Disc Write: 40ms – 100ms
Avg. Disc Read: partly up to 60ms

(see the screenshot: Performance Monitor

I think these numbers are quite high, but I am not 100% sure. Can someone confirm that? What can be done to reduce the latency?

Update 1: According to this page Monitoring Disk Usage from Microsoft PhysicalDisk: % Disk Time should not exceed 90% and PhysicalDisk: Current Disk Queue Length should not be more then 1.5 to 2. However, the values on my server exceed these numbers (red is Queue Length) drastically.
I have checked the same metrics on a local server in our office which has nearly the same configuration and load (I am not sure for the disk model/manufacturer, but it's a retail PC). Here the % Disk Time is only around 20 to 40!

enter image description here

Best Answer

If there is only one barista working at your favorite coffee shop and you show up with four co-workers, on average it will take longer for each of you to receive a drink.

Similarly, virtual servers will not perform well when sharing a single spinning disk. The reason is simple: disk latency is the main performance bottleneck in most computing applications! When you share a single disk between multiple VMs, each one has to wait in line for disk reads/writes that are slow enough even when a server has a single drive to itself.

Example of a typical small-scale, non-clustered Hyper-V server disk configuration:

 Disk  Configuration               Function
 C:    RAID-1 mirror (2 disks)     Operating system
 D:    DVD-ROM drive               Installation discs
 E:    RAID-10 array (4+ disks)    Hyper-V Guests

When a Hyper-V host has numerous guests, hosts a busy SQL database server, or is part of a Hyper-V cluster, you may need to start looking at DAS or SAN options that can provide dozens of physical disks accessible to multiple computers simultaneously. In a typical small business Hyper-V environment, where it is rare to exceed the 4 guest server operating systems included within a Server 2008 Enterprise license, SAN/DAS solutions often are overkill; the 6-8 drives that fit into a typical 1U or 2U server chassis may be enough.

The declining cost of solid state storage (and/or hybrid storage options such as Intel's emerging Rapid Storage Technology) may eventually change the rules, but you cannot expect several virtual servers to perform well when chained to a single spinning disk.

The other potential consequences of not using RAID, which include unnecessary downtime and a higher likelihood of losing all data written since your most recent backup, are even more important than the performance implications. However, these concerns fall outside the scope of your original question.

Related Topic