Host server processor and memory performance

This section of our chapter excerpt on performance optimization explains why it is important to examine the physical hardware of your host server and why a client should add as much memory to the VMware ESX Server host server as possible.

Solution provider takeaway: Although VMware ESX Server is compatible with a wide variety of server hardware, it is not always advisable to virtualize aging servers. This chapter excerpt, from VMware ESX Essentials in the Virtual Data Center, explains which improvements will optimize host server processor and host server memory performance.

Download the .pdf of the chapter here.

Host Server Processor Performance

The physical hardware of your host server greatly affects the performance of all of the virtual machines that reside upon it. And the processor is considered one of the most vital resources contained within your host server.

As cliché as this may sound, a general rule of thumb to follow is the more physical processors in your server -- the better. Likewise, most new servers are now shipping with multiple cores to increase the processing power found in the box. Packing in multiple core processors can help achieve higher densities per server while at the same time increasing the performance of existing virtual machines because of reduced CPU contention. And the newer versions of VMware ESX have official support for multi-core processors.

You should also be aware that although VMware ESX is compatible with a broad range of server hardware, including older server equipment, it doesn't necessarily pay to virtualize those aging servers. Without getting into a cost game here, let's just stay focused on performance. Yesterday's servers have single-core processors that are significantly slower in GHz speed and have slower or less cache. You can greatly improve the performance of your guest environments by simply upgrading your servers and improving the CPU used. If the performance of the virtual environment calls for it, use the highest performing processors you can afford.

In addition to being faster, these newer and more modern processors are also more efficient. Be aware, virtualization environments are typically making more efficient use of the server by fully utilizing the processor, in many cases, reaching and sustaining between 60-80% utilization. That's fine, except if you are dealing with older processor technology that is less efficient with heat and power consumption. Many processors automatically step down their performance when a certain thermal threshold is reached. Remember, these older processors were designed with the notion that they would probably only reach 80% utilization for a small period of time during a spike in usage; once they reach the thermal threshold, they step down and downgrade their performance, which will negatively affect every virtual machine hosted on that server.

It is also important to optimize the ratio between the number of active virtual machines hosted on a server and the number of physical processors or cores available on the host. Usually, the more cores the higher the density. But watch out, operating too many virtual machines per processor core can adversely affect the overall performance of the server and its virtual machines. There is no magic formula that gets the ratio mix right every time and for each scenario. For years, virtualization administrators have been trying to come up with this formula but to no avail. Instead, VMware created DRS and resource pools to try and take much of the guess work out of the equation. While it may not be perfect, it certainly helps keep the performance of the environment at a certain level and without the need for constant human attention.

Avoid running programs in the service console that consume large amounts of the processor. By allowing a third-party service console application to excessively consume CPU resources, the virtual machines and the host server performance will be adversely affected. Use esxtop to monitor service console CPU usage.

Host Server Memory Performance

Much like the processor in a VMware ESX host server, the memory of the host server is also considered a significant bottleneck. And just like the processor scenario, it is important to add as much memory to your VMware ESX host server as possible. Having a sufficient amount of memory for all of your virtual machines is important to achieving good performance. A sufficient amount of memory is roughly equivalent to the amount of memory you would have assigned to each virtual machine if they were physical. As an example, to effectively run a Windows XP Professional virtual machine you might allocate 512MB of memory to it.

It is important to note here that system memory has quickly become one of the most expensive components found in today's modern server; so you need to make sure that you properly match up the amount of memory in the system to the virtual machine density that can be achieved with the amount of processing power available. In other words, if you have enough processor resources in your host server to support ten virtual machines, don't overpopulate your host server with expensive additional memory beyond what that density is capable of consuming if you cannot achieve a higher consolidation ratio due to processor limitations.

VMware ESX server hosts are required to have a minimum of 1GB of memory. In reality, 4GB is probably more of a normal minimum requirement. Today's modern virtualization host servers are more typical with 8 or 16GB of memory, and larger environments are seeing host servers with 32 or even 64GB. ESX server hosts require more RAM than a typical application server. It must be equipped with enough memory to concurrently power and operate a number of virtual machines plus its service console and any third-party tools that may be installed.

When raw virtual machine performance is the most important metric, avoid over committing memory. Make sure the host server has more memory than the total amount of memory needed by ESX plus the sum of the memory sizes assigned to each virtual machine. Although ESX can handle over committing memory, that doesn't mean you should do it. Doing so creates a swap file per virtual machine that is located on disk in the same location where the virtual machine is located. Make sure you have enough disk space available for the swap. And remember, disk is much slower than RAM, so for performance reasons, it is best to avoid swapping to disk.

If swapping cannot be avoided, make sure you at least assign the swap file to a location on a high speed storage system.

VMware ESX Server: Performance optimization
  Configuration of the host server 
  Host server processor and memory performance
  Host server storage and network performance
  Configuration of the virtual machine
  Configuration of the guest operating system

About the book
VMware ESX Essentials in the Virtual Data Center details best practices for ESX and ESXi, guides you through performance optimization processes for installation and operation, uses diagrams to illustrate the architecture and background of ESX and covers the two most popular releases, 3.0 and 3.5.

Dig Deeper on Server virtualization technology and services