Thank you James.
When both DT Server and DT Frontend Server are running within the same VM on the same physical host, basically they are competing against each other for the same vCPUs.
Both DT Servers are using G1 GC policy, where the frequency of GC depends on the value of -XX:MaxGCPauseMillis. Each time GC is running it takes (for Young GC) around 300 ms.
When GC is running, it is all CPU, no I/O interrupts.
The VM time slice is 50 ms by default. VMKernel does not know and does not care about which process within VM is running. However, VMKernel can see that the whole 50 ms is taken and based on its algorithm will punish VM by keeping it on the Ready Queue. Moreover, the guidelines for DT Server/Frontend recommend the HT disabled. However, all physical boxes are coming with HT enabled. Even if you advice VMware team how to disable HT for our VM, they will never do this (from my previous experience with other companies).