Can I run a benchmark using virtualization is a question that I've been asked on a number of occasions. The short answer is, no, you can't. The first hint that virtualization wasn't going to be an option was when I first installed VMWare on my Compaq/HP NC6000 laptop. The whole experience sucked. It corrupted my email and did a whole lot of other nasty things to my machine. After a bit of poking about I attributed it to interference with the network drivers. It was clear to me that network performance, arguably one of the most important considerations in any benchmark, was woefully inadequate.
Too bad because other than that, the benefits of virtualization were clear. I attributed to a bad hardware experience and tried to uninstall. Unfortunately, VMWare didn't uninstall so nicely and it took a re-install of windows to get rid of it. With that experience in hand, I was very reluctant to try out VMWare on my Mac. I've installed it and though it is more useful and doesn't seem to corrupt things, you can tell that performance is an issue.
Just today this popped up in my inbox. Queuenews reports;
The efficiency of network virtualization directly impacts the number of
network servers that can effectively be consolidated onto a single
physical machine. Unfortunately, modern network virtualization
techniques incur significant overhead, which limits the achievable
network performance. We need new network virtualization techniques to
realize the full benefits of virtualization in network-intensive
domains.
Not a surprise from my point of view but just more fodder to say, virutalization... cool but not for performance just yet.
Why not installing more than one physical networkadapter on a server
machine? And let VMWare (or any other virtualization software) assign guest
systems to different physical hardware? I agree to your opinion that
performance CAN be a problem for virtualisation, I don't agree that it is
ALWAYS the case, tuning is possible.
You can benchmark if this is the target platform. Many companies are using
virtualization for more things than just demoing or testing an application.
Unfortunately, my experiences with heavy-weight virtualizations like VMWare
are similar. However, there are virtualization solutions which can be used
also for a performance testing. Namely, BSD jails and - maybe more familiar
with a Java world - Solaris zones. If carefully designed (nothing in global
zone/jail, pararell zone/jail running only for setup, but dedicated running
during benchmarking, and so on), these are suitable for benchmarking.
I was trying to do some networking performance tests and ran into the same
issues to start with.
Fusion 1.0. But I've also experienced worse using other versions running on
Windows.