Understanding Latency Sensitivity in VMware vSphere 5.5
With the release of VMware vSphere 5.5 in late 2013, VMware introduced a new feature called “latency sensitivity.” This feature allows for a reduction in the latency of a given VM. In this post I’ll explain a bit more about what latency sensitivity is and how to configure it for the best results.
What Is Latency Sensitivity?
In an effort to improve performance by reducing latency to a virtual machine, VMware has included latency sensitivity functionality in vSphere 5.5. This will improve the performance of latency sensitive applications and aid in the continued push to virtualize Tier 1 applications.
With virtualization the majority of virtual machines do not have direct access to the physical resources. Resources such as CPU, memory, network, and storage are abstracted via a virtualization layer. This allows for the sharing of these resources and a foundational benefit of virtualization; however, in some circumstances an application may require additional performance.
By adjusting this value the VM can achieve lower latency by receiving preferential access to resources and by bypassing virtualization layers to eliminate layers and any extra processing. Another method that may assist in lowering latency is using a pass-through method to allow the VM direct control over a physical resource via Direct path or R-IOV.
There are currently four levels or settings available for Latency Sensitivity in vSphere 5.5. They are explained below.
- Normal – This is the default setting. When used it’s business as usual for vSphere.
- High – Use this setting when you need lower latency for a virtual machine.
- Low and Medium – These are experimental at this time and should probably not be used unless directly advised.
Having to use the High setting to get a lower level of latency was a bit confusing at first. Why would I choose high if I wanted the result to be lower, right? But this seems to follow the use of shares, as in other settings in vSphere. But shares is not listed in the choices, so it’s going to fool more than a few people.
How to Configure Latency Sensitivity
Before changing the latency setting I wanted to show how to confirm the current setting for a selected virtual machine.
- Locate the virtual machine that you want to check from the inventory list on the left of the vSphere web client.
- Then click the Manage tab, followed by Settings tab and then select the VM Options choice.
- Expand the Advanced Settings choice and you will see the current configuration for Latency Sensitivity.
- To change the Latency setting you will need to choose Edit Settings on the virtual machine. This will allow for configuration changes on the VM, so you will need the virtual machine to be powered off.
- In the settings pop-up, click on the VM Options tab and click Advanced to expand the options.
- The Latency Sensitivity field is set to Normal by default. When clicking the drop-down, you will have the choice of four options explained earlier. Pick the setting appropriate for your requirements and click OK to close the settings window.
Go ahead and power up your VM again after you have updated the settings and perform any testing necessary to confirm your changes.