I met with a Systems Engineer from VMWare this afternoon. Some of mystudents are working on a performance study of VMWare and so I took theopportunity to pick his brain on how to get performance data from theserver. There are two levels that you need to gather data: the virtualmachine and the host machine. Here's what I found out:
perfmon gives good data for everything but the CPU on the virtualmachines. Because the host machine is running ESX (a modified Linuxkernel) you can't directly run perfmon. For the host machineitself, there are several options:
- VM VirtualCenter gives usage data, but the default polling interval isfive minutes. This isn't fast enough. The polling interval can bereduced, although I still have questions whether or not we can create
- esxtop is a special version of top that can run on thehost machine.
- vmkusage is an HTTP accessible program that gives host andvirtual machine usage data.
Another question I've had is about resource constraints. We bought boxesthat were maxed out in CPUs and memory. We're concerned that we'll runinto network bottlenecks. I've known that we can buy a quad NIC andassign ports, but I didn't know that ESX will gang the quad NICs togetherand let do resource allocation to the virtual machines.
We also talked about using VMWare in a disaster recovery situation.Because the virtual machines look like files, they can be backed-up. Thenyou can recover back-ups daily to an off-site VMWare host and in the eventof a disaster, be ready for a warm-start on the backed-up servers. You'rea day behind, but could be rolling in a matter of minutes.