I'm seeing very poor SSD performance on my Windows 10 guests (not that I've benchmarked any other guest OS's) running on Windows 10 hosts.
This is happening on both my Desktop workstation and my laptop.
I'll give more details of the laptop scenario.
Host: Dell XPS15 9560 with a 512GB SSD and 16GB RAM, running Windows 10 1803.
Guest: VMWare workstation hardware compatibility 14, 4GB Memory allocated, 1 processor, 4 cores, VT-x/EPT enabled. Running Windows 10 1803.
No snapshots, all disks compacted/defraged.
As detailed below, performance is pretty dire - especially when you look at the non-sequential tests. Performance is a factor of 4-7 times slower than on the host. I've been using Workstation for years and expect some performance drop within a guest, but not on this scale. It is bad enough that it seriously impacts Windows performance and usage.
I've tried experimenting with different disk types (NVMe/SCSI, pre-allocation/lazy provisioned) - none make a significant difference.
The performance is similar with antivirus disabled on both host and guest (Windows Defender on both)
Does anyone have any ideas for resolving this, or investigating the cause? Might this be a performance bug in Workstation itself?
All help gratefully received.
Host disk performance is good:
Guest performance is poor:
12GB SCSI, pre-allocated, single file:
14GB NVMe, pre-allocated, single file:
Thanks for the reply.
The host processor is 4 core / 8 thread with all power saving features disabled (e.g. Speed Step).
Even though it is 4 core, I thought I'd re-run the NVMe preallocated case above with only 2 cores assigned. The results are almost identical
What should I try next?
This is an issue for me too
Win10 host 32 GB ram i7 8 processors
Win10 guest 16GB ram, installed on SSD Samsung 970 EVO, different disk from installation of vmware workstation.
Atto benchmark results on disk where VM is hosted, run from host:
I/O size write read
512 B 27.15 mb/s 36.62 mb/s
1 MB 1.42 GB/s 3.1 GB/s
Atto benchmark results, running inside guest, accessing the same SSD:
I/O size write read
512 B 5 mb/s 6.39 mb/s
1 MB 1.1 GB/s 1.13 GB/s
almost 5 times slower in guest at 512B
half as fast at 512 MB io size.
I tried NMVe driver and it didn't make a difference
Version 15.5 VM workstation pro.
I created a brand new VM and installed windows 10 from scratch.. no difference
followed these recommendations from knowledge base:
I am stumped.
Kind of old thread. This is oranges to apples, but I doubt if your problem is all due to VM. I would suspect anti-virus, anti-intrusion or some other anti-get-stuff-done software on host.
I run a Linux host. The host is on a small SSD. I run Linux VM's on another SSD and Windows VM's on a third SSD.
Read test on the Linux VM SSD itself:
lou@T5810:~$ sudo hdparm -t /dev/sdb
Timing buffered disk reads: 1550 MB in 3.00 seconds = 516.35 MB/sec
Read test on same SSD but from a Linux Mint VM (sda in the VM)
lou@mint191:~$ sudo hdparm -t /dev/sda
Timing buffered disk reads: 1460 MB in 3.01 seconds = 485.26 MB/sec
Less than 10% difference.
I can't compare the same for the W10 VM, but with 2 W10 VM's running, I get the below result. I would guess that it would be better on a hardware W10.
VM has 1 Proc, 2 cores and 4GB. There is (normal) a bunch of disk activity at almost all times. I would look at your hosts disk activity when running your tests. I would turn off/uninstall AV, Defender, etc and try again.
" I doubt if your problem is all due to VM. I would suspect anti-virus, anti-intrusion or some other anti-get-stuff-done software on host."
Not for me. All my benchmarks and perfromance tests have been on a newly installed Windows 10 host with no other software, and with Windows Defender completely disabled.
This issue has been replicated on my old workstation, on my Dell XPS 9650, and on my new i9 9900K based system - all with the same results.
The difference in performance is basically order of magnitude, not 10% as you report.
The most obvious difference between your experience and mine is that you are on a linux host, and I'm on a Windows 10 host.