I was on a call the other day on my ESX virtualized PIAF and the call quality was less than I had come to expect. I know the consensus seems to be NOT to virtualize PIAF due to the lack of a configurable timing source, but for mt, a physical PIAF is not an option.
So I started looking around and noticed that my CPU Ready values were a bit high on the PIAF VM in a comparatively idle state. For those unfamiliar with CPU Ready, it is the counter that measures the amount of time a VM (or process) is ready and waiting for a CPU.
Anyway, high and/or fluctuating CPU Ready is not uncommon in an idle VM; it is mostly due to the VM oscillating between CPU's or cores on the ESX/ESXi and, in a system with available resources, CPU Ready will drop to 0 or near 0 when the CPU is taxed.
I began to wonder how to reduce my CPU Ready values at comparatively low utilization. The answer is in setting the Advanced CPU property of the VM "HT Sharing" to None.
The performance chart below demonstrates what happened to my CPU Ready before and after I turned HT Sharing off! The result was an immediate and perceptible improvement to call quality.
Here's what the actual setting looks like:
--- Results after 101 passes ---
Best: 99.987 -- Worst: 99.925 -- Average: 99.953913, Difference: 99.991698