We recently virtualised a few old physical servers and all seemed well, until the customer complained that the VM seems slower than the old servers. Which to us was hard to believe as on paper as the new server should outperform it with ease.
We went and grabbed the old server and booted them up and compared some application load times and the VM was definately slower. We then benchmarked both machines using 'Novabench' and the old physical server posted much higher numbers.
The old server (Dell T3500) is running a single X5670 and the new server (Poweredge R720) is running 2x e5-2640. Even with no other VM's running on the machine and 8 cores assigned to the VM. The old server scored 958 for CPU and the VM scored 627.
But the biggest hit seems to be RAM speed, the old server scored 12116 mb/s and the VM only got 6509 mb/s. Both have DDR3 ram but the new server has faster RAM, yet benchmarking at half the speed.
We have tried a tonne of recommended performance tweaks, like turning off power management, disable hyperthreading, playing around with different amounts of cores and sockets, bios settings etc. Have seen some improvment but the old physical machine is still well ahead.
Is this normal for VM's? Am I wasting my time benchmarking a VM with conventional benchmark software?