Windows I/O Tax
The first is the caused by the behavior of the Windows file system. No matter where you run Windows and no matter what kind of storage environment you run Windows on, Windows still penalizes optimal performance due to severe write inefficiencies in the hand-off of data to storage.
Files are always broken down to be much smaller than they need to be. Each piece means a dedicated I/O operation to process the write or read, which causes an enormous amount of noisy, unnecessary I/O traffic that chews up precious IOPS, erodes throughput, and causes everything to run slower no matter how many IOPS are at your disposal.
30-40% of I/O traffic is nothing but mere noise, stealing resources and robbing optimal performance – no matter the Windows storage environment.
The I/O Blender Effect
The second is storage I/O contention, also known as the I/O Blender Effect, which happens when you have multiple systems all sharing the same storage resource.
As small, fractured I/O traffic from several virtual machines pass through the physical host hypervisor (Hyper-V or VMware), the hypervisor acts like a blender. It mixes these I/O streams, causing a randomization of storage I/O packets, before sending out a chaotic mess of small, fractured, and very random I/O streams to the storage controller.
It is essentially amplifying the Windows I/O tax multiple times causing even more performance penalty.
Your performance is penalized twice by these storage I/O inefficiencies causing systems to process workloads about 50% slower than they should.