How to benchmark virtual machines

JamieH picture JamieH · Feb 5, 2009 · Viewed 35.6k times · Source

I am trying to perform a fair comparison of XenServer vs ESX and one comparison I would like to make is performance with multiple VMs. Does anyone know how to go about benchmarking VM performance in a fair way?

On each server I would like to run a fixed number of XP/Vista VMs (for example 8) and have some measure of how quickly each one runs when under load. Ideally I would like some benchmark of the overall system (CPU/Memory/Disk/Network) rather than just one aspect.

It seems to me this is actually a very tricky thing to do and obtain any meaningful results so would be grateful for any suggestions!

I would also be interested to see any existing reports or comparisons that have been published (preferably independent rather than vendor biased!)

Answer

Emil Sit picture Emil Sit · Feb 12, 2009

As a general answer, VMware (together with other virtualization vendors in the SPEC Virtualization sub-committee) has put together a hypervisor benchmarking suite called VMmark that is available for download. The VMmark website discusses why this benchmark may be useful for comparing hypervisors, including an FAQ and a whitepaper describing the benchmark.

That said, if you are looking for something very specific (e.g., how will it perform under your workload), you may have to roll your own variants of VMmark, especially if you are not trying to do the sorts of things that VMmark benchmarks (e.g., web servers, database servers, file servers, etc.) Nonetheless, the methodology behind its development should be of interest.

Disclaimer: I work for VMware, though not on VMmark.