Server Fault is a question and answer site for system and network administrators. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

We are seeing our software behaving unusually at one of customers where it is being run inside a Windows 2008 virtual machine. The host is VMWare ESX Server.

The biggest issue I have seen is our processes drop socket connections or socket connections timing out. Some of our processes communicate with each other over TCP sockets. In some cases we make socket connection to remote systems (e.g., WMI, JDBC).

I am lead to believe that the VM is starved of resources. We do not have access to ESX admin/performance dashboards. I have also learnt that any numbers that perfmon or task manager inside the host VM provide are not true indication of the host OS health.

I could write a program that does bunch of floating point math and prints out the time taken. Then compare that time to the same obtained on different VMs or real Windows boxes.

This approach is sufficient for us to be able to determine whether the root cause is indeed VM performance. However it would be much easier to convince the customer if there was a standard way or tool for doing this.

Is there one?

share|improve this question
I believe Windows 2008, and certainly Windows2008R2, allows you to look at new counters (and others) that show you the CPU frequency, memory etc specially for virtualisation. But the quickest way would be to ask the VM administrator - make sure they haven't oversubscribed the memory especially on the VM host (the host box might have 64GB, but the sum of the Virtual Machines on that host might have 80GB of RAM). Oh, and if this has just started to occur, then perhaps the VM host has become more heavily loaded. Ask them to move the VM guest to a less busy host. – Peter Schofield Apr 13 '11 at 21:34
Reminds me of this - Blame (Virtualization) – Doug Luxem Apr 13 '11 at 21:51
Please share if you have any idea which are those counters. Right now I am playing with this URL to get some early indications (perhaps this is not to reliable a test, but I looking to find a more dependable one) – akirekadu Apr 13 '11 at 22:34

I tend to use the same products I use to benchmark physical hardware.

Skip the 3d test of course, but the others can be helpful, especially the disk and networking benchmarks. Make sure you are using the proper network & IO drivers, and make sure all your windows settings are optimized for VM.

share|improve this answer

For testing the networking, I use iperf and netperf to stress test that.

For testing disk I/O, use sqlio which is another industry standard tool. Run both random and sequential I/O testing with different block sizes.

For the CPU/RAM testing, I can't think of anything for Windows off the top of my head.

share|improve this answer

Your Answer


By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.