CPSM (CICSPlex System Manager)是IBM提供的一个用于集中化管理CICSplex的工具。用户使用CPSM,可以 进行CICSplex级别的资源定义管理,系统和资源的实时监控,拓扑管理,负载管理等。在本文中,我将介绍 CPSM的负载管理功能,以及负载被动态路由的过程中,哪些因素影响到AOR的选择。
当一个支持动态路由的交易到达TOR以后,CPSM的负载管理模块会被调起,CPSM会根据用户预设的负载管理 规则,进行算法运算,在规则定义的AOR群中选取目前最合适的AOR,并将负载路由到该AOR进行执行。CPSM提 供了多种算法类型,其中包含队列算法(Queue Algorithm)和目标算法(Goal Algorithm),以及在CICS TS 4.2 及以后的版本中增加的LNQUEUE算法和LNGOAL算法。这四种算法适用于不同的用户场景中,其中,应用最多的 是队列算法,即QUEUE算法。
如上图所示,在QUEUE算法中,多个因素共同决定了CPSM的路由选择。其中大致分为 两大部分:负载指标(load)和健康指标(Health)。
负载指标用于标记目前的AOR的负载状态,考量的因素包含:
1.MAXTASK的设定
2.当前的TASK数量
3.TOR和AOR之间的连接协议
健康指标用于标记目前的AOR是否出现异常,CPSM的算法逻辑通常是避免向不健康的AOR发送交易。这其中 ,考量的因素包括:
1.是否出现System DUMP和Transaction DUMP
2.是否出现内存短缺(SOS)
3.是否出现MXT
4.是否出现Stall
5.是否出现连接中断
6.是否出现ABEND
CPSM会根据以上因素,最终计算出每一个AOR的路由值,并选取路由值最小的AOR作为最终的目标region。 对于有亲和性(Affinity)的交易,CPSM将会根据亲和性的相关规则定义,将交易路由到指定的CICS region上 运行,确保交易的正常执行。
目标算法(Goal Algorithm)则是在队列算法的基础上,综合考虑了z/OS WLM规则的设定,确保路由的交易 能在响应时间上满足WLM规则的设定。
LNQUEUE和LNGOAL两个算法,则是以QUEUE和GOAL为基础,去除了连接协议在算法运算中的作用。这意味着 无论TOR和AOR是否在同一个LPAR上,TOR和AOR之间采用何种的连接协议,和TOR相连的AOR在路由值的计算过程 中都将同等对待。
用户如果想实现交易的动态路由,需要通过WUI的进行路由规则(WLMSPEC)的定义,CPSM的算法可以在 WLMSPEC定义时指定。