(Originally posted 2015-12-22.)
WLM will give up on an unachievable goal, eventually. Recently I came across a customer who didn’t know this and for whom this was a big problem.[1]
This customer, like many others, was running heavily constrained for CPU. [2]
But it does have consequences.
In this particular case they had defined two service classes – one for their main Production IMS address spaces and one for their Production DB2 subsystem.
The goals were both with Importance 1. One had a Velocity goal of 99% and the other of 95%.
I joked they’d’ve specified 100% if they could. One of them said the panel only allowed 2 digits. 🙂
In both cases the goals were set way too high and the velocity attainment would fall well short of the goal. **Much of the time the Performance Index (PI) would be so high[3] that WLM would give up on the goal.
Of course the customer had several service classes with work using IMS and DB2 and with lesser importance (2, 3, etc) and with more modest goals.
These “lesser” service classes tended to meet or even exceed their goals. But it doesn’t mean the applications performed well or stably in real world terms. You need the server to perform well for that to happen. And in this case IMS and DB2 were starved of CPU – both GCP and zIIP. They became donors rather than receivers. And priorities were effectively inverted.
So this effective inversion of priorities was damaging, particularly at higher utilisation levels.
The moral of the story is: Don’t overdo it, goalwise and do check goal attainment, adjusting goals sensibly based on that. Otherwise you could be in for priority inversion and a nasty surprise.