I'm running newest version of Workstation 15.
I have a single guest VM with Windows 10 that's running openvpn client connection inside.
When i'm performing speedtest inside that guest VM with openvpn enabled i get only 40% of regular VPN performance that i experience on host.
On the host, using same OpenVPN client configuration i get speed of 100MB/s.
Inside VM guest, i get around 30MB/s with exactly same confiruation.
Guest has assigned all available cores and memory.
Why is there such difference?
I have tried running my VM in other virtualizers such as Microsoft Hyper-V and virtualbox. The performance while using these virtualizers results in exactly same performance in Host as in guest, which means there's some sort of trouble inside VMWare Workstation.
I think it might be related to some sort of slow implementation of AES-NI instructions which i guess openvpn client is using for encryption.
Has anyone else had similar issue?
> Guest has assigned all available cores and memory.
That is not a good idea. No wonder that the VM is slow.
Never assign more than n-1 of the available cores.
Same applies to vRAM.
The machine was running at low amount of cores and ram first.
Only when i wasn't able to solve the issue, i have adjusted it - to see if it makes any impact.
I dont know why openvpn performance is so slow inside VMWare Guests, but other hypervisors work perfectly.
What network adapter is the VM using?
My guess is intel e1000.
If that's the case, then switch it to an intel e1000e and performance will very likely improve.
PS: In order to do that, shut down the VM, open the .vmx file in a plain text editor such as notepad and change the line
> ethernet0.virtualDev = "e1000"
> ethernet0.virtualDev = "e1000e"
Save. Then try again.
OK, go with the "vmxnet3" virtual ethernet adapter then.
I don't generally recommend it because Windows does not have an inbox driver for it.
However if you have installed VMware Tools already then the driver is available.
The vmxnet3 adapter is the most performant one.