We have a EPYC Rome 7502 host running vSphere v7.0.3, and for .net applications we're seeing a performance hit of around 50%, compared to the old host which is Xeon E5-2630.
The performance hit in the .net app is all CPU based.
CPUZ suggests the host should be faster for both single and multithreaded tasks.
According to VMWare's white paper we shouldn't have to do anything. It doesn't explain how to configure the individual VMs optimally. Its really hard to understand how the physical cores (+ HT cores) are presented to the virtual machine. Should we assign 4 or 8 CPUs for one 'CCX'?
I'm assuming something is being presented to the operating system differently, which is causing either the OS scheduler, or .net's to assign a thread to a core inefficiently.
Any suggestions on how to improve the performance to get it to where it should be? How to configure the vm to use one CCX 'node' would be a great start.