VMware and the community have done a great job documenting the best practices for optimizing applications running in a virtual environment. One area they haven't done so well in, however, is best practices in optimizing hardware.
Let me explain.
Yes - VMware is clear on the fact that any Virtualization assists should be enabled in the server bios. However, there are many other options which affect performance. IBM claims there can be as much as a 20% improvement in performance by disabling the processor hardware prefetcher (enabled is the default). Dell has an option to configure RAM in a high bandwidth mode (more bandwidth is good, right?!). Of course, HP recommends you keep all default values, but don't forget to disable power saving features.
The challenge of all this is the ability to tune a server for small workloads vs a high work loads. Should I tune hardware differently for 1 or 2 VMs than one running 25 - 30? At what point do these other hardware options cause performance problems?
I understand there's no easy way to answer these questions and it always depends on the workload and configuration (i.e. benchmarking will confirm the results). However, it would be nice if VMware could give some feedback on these settings. Perhaps it's as easy as running the same VMmark test with CPU caching enabled, just to show the difference?
Thoughts?