WebSphere Liberty auto scaling CPU metric

118 views Asked by At

WAS Liberty has auto-scaling feature and one of the metrics is the CPU metric.

My question is about the case when I have many JVMs being members of different clusters running on the same host. Is Liberty measuring the CPU consumption of each JVM or is it per host? If it is host-wide, then scaling decisions are almost meaningless because how does it know which JVM is actually consuming all the CPU time and needs to be scaled out? If I have 5 JVMs and 4 of those are not doing any work and one JVM is taking 99% of my CPU on the host, I only need to scale that JVM, not all five of them.

2

There are 2 answers

1
covener On

The manual says metrics trigger on averages across a cluster, so for the scenario you outline:

  • If they are all in a single cluster, there is really no scaling action required and it wouldn't likely help.

  • If the spinning JVM is in a single or very small cluster (w/o the other 4) then it could trip the CPU metric depending on the average %cpu and the configuration

0
Akihiko Kuroda On

The usage of the resources is compared against its threshold at each level (JVM, Host and Cluster). When the usage goes beyond the threshold at one of the levels, the scale out action is executed.