How does virtual machine migration affect performance?

Virtual machine migration can greatly affect CPU resources in your cluster and lead to unwanted queuing of tasks on your virtual machines.

What is virtual machine migration?

Hypervisors are used to create and run virtual machines. A typical hypervisor is responsible for managing the activities, and allocating resources for, multiple virtual machines. Each hypervisor has access to a fixed amount of disk storage, for example 1 TB. A hypervisor uses this storage space to provide RAM as needed to each of the virtual machines it manages.

Because virtual machines vary in their need for RAM based on current activity levels, a hypervisor can allocate more RAM to its virtual machines than it has available. The practice of over-allocating resources to virtual machines works fine until the machines claim the same resources simultaneously.

When a hypervisor is called on to deliver more resources to a virtual machine than it has available, the hypervisor temporarily migrates the virtual machine to another disc or storage array that has available resources. The process of temporarily moving a virtual machine to another disk storage that has available resources is called “virtual machine migration.”

How does VMware manage virtual machine migrations?

In VMware vCenter, virtual machine migration is known as "vMotion". During a migration, an entire running virtual machine is moved from one physical server to another without being shut down. Such migrations occur when the resources of a vCenter server are overloaded and another vCenter server is called on to take responsibility for the migrated virtual machine. Such migrations can be triggered manually or can occur automatically without any administrator action.

Dynatrace tracks vMotion events for all the vCenters in your IT infrastructure, showing you daily (counters are reset at midnight each day) and past-week percentages. Each vMotion event consumes resources on the target ESXi host. Even when newly migrated virtual machines don't immediately require more CPU or memory, other virtual machines that exist on the same host might need more resources. The result of this is that target ESXi hosts can experience problems allocating requested resources and CPU saturation can occur.

The VMware vCenter tile on the home dashboard shows the number of migrations that have occurred today and allows you to compare this number to the same time period one week earlier.

Why is "Ready time" important?

Ready time is the percentage of time that a virtual machine is ready but can't be scheduled to run on a physical CPU. To view Ready time information for a virtual machine

  1. Select VMware from the navigation menu and click the vCenter cluster that includes the host with the virtual machine you want to examine.
  2. Select the VMware host from the vCenter cluster table.
  3. Click Consuming virtual machines or Show details to view the CPU and memory data for the selected host machine.
    Select the CPU ready time tab for a chart view of the Ready time metric. Selecting the virtual machine in the table below the chart updates the CPU ready time chart accordingly.

Note: CPU Ready time should remain below 10%. A CPU Ready time measurement over 10% indicates that your virtual machines are competing for available resources and a virtual machine is unable to execute all of its tasks. Such contention can lead to a drop in application performance.

Machines with a Ready time value over 10% typically have poor performance.