Consider a server that runs two workloads:
The accounts payable and accounts receivable workloads run
constantly. Without WLM, the performance of these workloads varies
greatly throughout the day, based mainly on the amount of work competing workloads
have at any given time. Consequently, the server might be overloaded
with accounts payable processing, greatly slowing the accounts receivable
processing. Figure 3-3 “Server
without WLM” illustrates
this scenario.
By using WLM, you can define SLOs for the workloads to specify
their desired performance levels. For example, the accounts payable
workload can be assigned a goal of paying out money in less than
2.5 seconds, while the accounts receivable workload is assigned
a goal of depositing the incoming money in less than 1 second. WLM
uses data from data collectors to determine how much a workload
is underachieving or overachieving its desired performance level.
WLM then automatically adjusts the CPU allocation, based on priorities,
for workloads that are underachieving or overachieving. Figure 3-4 “Server
with WLM” shows how the workloads are controlled
under WLM.
In this example, the accounts receivable workload has priority
1 and a response time goal of less than 1 second. The accounts payable
workload has priority 2 and a response time goal of less than 2.5
seconds. When resources are not sufficient to meet the SLOs for
both workloads, the accounts receivable workload is favored over
the accounts payable workload. For another example, see “Specifying
the priority (required)”.