With the cliffhanger ending of my last post, I left you all breathlessly wondering why the way XenServer Workload Balancing (WLB) works is important.

Understanding how Workload Balancing work is critical in understanding how to tweak your thresholds.

Workload Balancing recommendations are triggered primarily by thresholds, values for resource metrics that, when one is crossed, indicate to Workload Balancing that it needs to make a recommendation. You can improve the timing of Workload Balancing recommendations by tweaking these thresholds. (By timing, BTW, I mean the point at which or the circumstances that trigger a recommendation.)

For example, the process to evaluate whether to make a performance-optimization recommendation is triggered when Workload Balancing exceeds a High* threshold. For CPU utilization, the High threshold is set to 80% by default. This setting assumes that your workload’s performance degrades at 80%. However, it might not. It might degrade at 70% CPU utilization or 85% CPU utilization.

If the workload’s performance degrades at 70%, you might want to lower your Critical threshold for CPU utilization (which in turn lowers your High threshold) to 70% or even 68%. If you lower this threshold, Workload Balancing makes a recommendation that much sooner and the workload is running with sub-optimal performance for less time.

It is important to bear in mind that, since thresholds apply to pools, you need to consider all the resource utilization across the pool when changing thresholds - or, at the very least, consider the resource utilization on the workloads that matter the most on the pool.

What I mean by this is that if you are running a variety of applications in a pool, perhaps with different performance degradation points, you may want to set the Critical thresholds to reflect the value when performance degrades on the workloads you care about the most. For example, if you have a pool with:

  • A server that virtualizes a mission-critical Sales application whose performance degrades at 75% CPU utilization
  • A bunch of servers that are running less important workloads whose performance degrades at 78% CPU utilization

You might want to set the High threshold to 75%.

Naturally, some metrics are more relevant than others to certain workloads. For example, on some database workloads, disk and CPU utilization might be the constraining resources and therefore the most important. If this is the case and Workload Balancing is set to optimize for performance, you might want to pay attention to disk and CPU utilization, noting their values when performance degrades, and adjust your CPU and Disk Read/Write threshold to slightly below that metric.

I go into a lot more detail about thresholds and how Workload Balancing decides to make recommendations in the recent release of the 2.1 Workload Balancing Administrator’s Guide. If you are trying to tweak your thresholds or determine how to set metric weightings, consider taking a look.

*Workload Balancing automatically calcutes High thresholds based on the values you set for Critical thresholds. See the Workload Balancing Administrator’s Guide for details.


Sarah Vallieres – Senior Technical Writer – XenServer
Twitter: @xsresearcher
XenServer Deployment Articles and Multimedia Kit