Archive for September, 2008

First it’s important to understand that although a virtual machine appears to the operating system to be a physical machine, it is not a physical machine.

There a number of differences between the two.

A physical machine is normally purchased one time and generally requires additional, money, and significant downtime to upgrade. In contrast although the resources to run a virtual machine cost money, they are shared and can be upgraded in the future easily from the shared resource pool.

This difference is a important because normally the specifications of a physical machine will be defined to meet the peak usage at the end of the estimated service life of the physical hardware. If this same method is used on a virtual machine it will waste money and negatively impact of the performance of not only the virtual machine itself but also other virtual machines running on the same virtualization server.

The reason for this is that in order for a virtual machine to run all the virtual resources that the virtual machine needs have to be allocated and available to it. So for example if you build a virtual machine with 4 virtual cpus it will not be able to begin executing until 4 individual CPUs are available for use. Also, while it is executing it will use all 4 CPUs, preventing other virtual machines from being able to use those resources and thereby impacting their performance. As a result a virtual machine that use fewer resources will less frequently have performance issues when there are other virtual machines needing the same resources.

So, to get the best performance out of a virtual machine you want to provide it with all the resources it will need with as little headroom as possible.