Introduction
Many VMware users wish to perform analysis on their own virtual deployments. This page will collect information on setting up and executing your own tests to analyze performance.
General Best Practices
Always measure performance from a native (non-virtual) system. Be aware that time measurements in virtual machines can be subject to minute fluctuations. Many benchmarks produce results by summing times from large number of small operations so these small inaccuracies can be compiled to produce a large error. See Time-based Measurements in Virtual Machines for more information on this subject. The only way to guarantee correct measurement is to run the measurement tool on a native system. This is easy for client-server test architectures but may require clever architecture for in-guest testing.
Always ensure apples-to-apples comparison. Make sure that the benchmark or application under test are both constrained by the same resources. For instance, if the virtual machine was configured with 512M of RAM and two virtual CPUs, restrict the native system to the same resources if a virtual-to-native comparison is desired.
Collect accurate host-based performance statistics. Guest OS performance metrics (such as CPU utilization) are not accurate. Use VirtualCenter or esxtop to collect accurate performance counters during the test. See the Performance Monitoring and Analysis for more information on analysis.
Application Benchmarking
Microsoft Exchange.
Microsoft SQL Server.
Subsystem Benchmarking
Storage
Internally at VMware we've used Iometer for a variety of storage analyses. See the Storage System Performance Analysis with Iometer for more information.