Optimisation Type [explain] : user experience (↑) / resource optimisation (↑) / functionality (-) / administration (-)
In the recent weeks, I’ve personally come across more than a few complaints of performance issue on VDI. The complaint are typically the same, poor user experience.
After some troubleshooting, they all point to the same thing, Power Management configuration in the BIOS is not in favour for best performance.
Now, this isn’t something specific to VDI, nor virtualisation. Anything that runs on the servers will have the same poor experience. I have seen databases installed on spanking new hardware, and perform slower than the old existing box. This setting to favour power saving, needs to be understood.
Now, most server BIOS now have “modes”; hardware controlled power management, or OS controlled power management. For the case of vSphere, I would recommend “OS controlled” and let ESXi do the necessary.
There are many articles out there that talks about this, and here are a few VMware specific ones.
- http://kb.vmware.com/kb/1018206
- http://blogs.vmware.com/vsphere/2014/01/bios-power-policies-affect-performance.html
- http://www.vmware.com/files/pdf/hpm-perf-vsphere5.pdf
- http://www.vmware.com/files/pdf/techpaper/hpm-perf-vsphere55.pdf
Now, how do you determine that the BIOS settings can be the culprit? There are a few methods, and I’ll mention a few off the top of my head here.
- If your server has a hardware management service like the HP iLO, or Dell DRAC, get into the management interface and it should have an area where you can configure this.
- From within vSphere, I am not aware of any direct method of checking this. You may think that the Power Management Settings screen below is the config, but it’s not. That is the setting from within ESXi; which is independent from the BIOS. You will need to configure this, once the BIOS is set to OS Controlled.
- So, another possible sign of the constraint is that you can check the CPU utilisation of the virtual machine. Specifically the metrics Demand (MHz) and Usage in MHz (MHz). These two metrics should have very similar values. In one of the cases I noticed that the Usage in MHz was only about 25% of Demand. This tells us that the virtual machine only had access to 25% of the amount of CPU power it really needs.
So, if you ever have any performance issue (virtual or physical), this would be one of the top settings you would want to validate.
You may think, heck this was put in place so we can have green computing. With anything in life, there’s always a give and take; you consume less power, you should expect less power too. You want performance, you need to fuel it some how. By virtualising, you would have already reduced your carbon footprint, and increased efficiency. Trying to save more power from this, should be done by optimising the power management the right way; i.e. OS Controlled & tell ESXi to use balanced profile.
As you can see, Virtual Desktop Performance is dependent on a well deployed vSphere environment. Do not take it lightly, and always check on the server power management settings to ensure it is optimally configured.
My customer also did one and he have did a test with the test results which I blog about it credit to him http://plain-virt.blogspot.sg/2013/03/vsphere-best-practice-vm-cpu.html.
Thanks for sharing Wee Kiong. The screenshot of task manager in your post also points to another symptom of this issue; in guest CPU monitor will reflect high CPU utilisation, where is from outside the VM (at vSphere level) you can see that CPU utilisation is low.