I have a high-end desktop PC.

  • MB: Intel DX79TO
  • CPU: Intel i7-3820 @ 3.6GHz
  • RAM: Quad Channel Kingston Hyper-X DDR3 16GB @ 2400 MHz
  • SSD: Kingston Hiper-X 120GB (Host OS resides here)
  • RAID5: 4 x 1TB - Windows Software RAID
  • Host OS: Windows Server 2016 (full)

The only server role enabled is Hyper-V. Actually the "File Server" is also enabled.

In the host OS, the transfer rate between the SSD and the RAID5 drive is 500 to 1100 MB/s depending on the direction. However, the speed inside the guest OS is mind-boggling: under 20 MB/s. Moreover, even when I don't transfer files, the disk utilization in Task Manager holds on 100%. The guest OS is Windows 10 and it is very unresponsive.

As a test, I moved the VHDX file away from the RAID5 drive onto the SSD and everything flew up; the performance of the guest OS became normal. When moved the VHDX back to the RAID5 drive, the performance in guest got back to degraded again.

The VHDX is of type fixed, of course, and the VM is Generation 2, has 2 virtual processors and 2 GB RAM. All of the integration services are installed.

So what can I do to fix the performance of the guest OS while having the VHDX on the RAID5 drive?

I am fighting this issue 3 days now and read tons of articles about how to optimize Hyper-V but nothing seems helpful. Tried so far:

  • Defragmenting the RAID5 drive. Initially, there was 35% fragmentation. After de-fragmentation, there was no observable difference.
  • Added exclusions in the host OS's Windows Defender Currently, the vmms.exe and vmwp.exe processes, as well as the folders, containing Hyper-V VMs and their VHDX files, are excluded.
  • Completely disabled paging in the guest OS.

Any thoughts?


Best-practice rule: you do not RAID 5 drives for file servers. It can have very slow writes and would take way too much to recover in case of a drive failure. Do it for a log or something else that does not require high speed, but not for file servers.

As for what's wrong with your performance, it seems you do not have write-cache enabled on the RAID 5. Without that, the performance will be unacceptable. You should make sure that the guest has write-cache enabled. Also, get HDTune or other tools and make a read test on the RAID 5 to see if your problem is not more complex (like a driver issue).

  • Nope. Write-cache is enabled on each of the RAID5 disks and in the guest OS. As for problems like driver failure, the Device Manager shows the devices and the SATA controller as "working properly". Also, as I've mentioned, in the host OS, the transfer is more than satisfying. By the way, what do you mean by It can have very slow writes? I am observing just the contrary in the host OS. – Bozhidar Stoyneff Dec 15 '17 at 11:14
  • Try with no cache and large amounts of small files. You'll see what a truly slow write means. "Working properly" means nothing. Look at the details, up to DMA mode. Anyway, the most relevant should be the read benchmark. Do one and post a screenshot or tell the result numbers. – Overmind Dec 15 '17 at 11:25

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.