![[z/OS]](../images/ngzos.gif)
z/OS 的工作负载管理 (WLM) 调整技巧
可以使用管理控制台来为服务方提供作业控制语言 (JCL) PROC 名称并为服务方提供 JCL 参数,从而设置动态应用程序环境。即使是设置动态应用程序环境,也必须为环境设置 WLM 目标。
正确的 WLM 目标可以显著地影响应用程序吞吐量。应当给予 WebSphere® Application Server 地址空间相当高的优先级。当为 z/OS® 系统设置 WLM 目标时,可能希望执行以下操作:
- 将位置服务守护程序和控制器分类为 SYSSTC 或高速率。
- 使用 STC 分类规则对应用程序服务器的速率目标分类。在服务方生命周期的早期阶段,或者,如果您已将 IEAOPTxxWLM 中的 ManageNonEnclaveWork 参数设置为 yes:
- Java 垃圾回收在此分类下运行。Java 垃圾回收是一个非常消耗 CPU 和存储器的过程。因此如果您将速率目标设置得太高,那么垃圾回收会消耗超过预期的系统资源。如果正确地调整了您的 Java 堆,那么每个服务方的垃圾回收应该只运行时间的 5%。而且,向垃圾回收处理提供适当的优先级是必要的,因为在垃圾回收运行的大多数时间里,服务方中的其他工作是停止的。
- JavaServer Page 文件编译在此分类下运行。如果配置您的系统在运行时执行这些编译,那么设置速率目标太低会导致等待完成 JavaServer Page 文件编译时延迟较长。
如果 IEAOPTxxWLM 中的 ManageNonEnclaveWork 参数设置为 no,或者未指定该参数,那么分配给服务方进行处理的大多数 Java 垃圾回收和 JavaServer Page 编译工作将按照为该服务方建立的服务类标准来处理。
应用程序工作在工作管理器下分类。
- 设置可实现的百分比响应时间目标。
例如,80% 的工作将在 .25 秒内完成的目标是一个典型目标。应用程序工作的速率目标没有意义且应该避免。
- 使您的目标为多周期。
如果在同一服务类中具有明显不同的短期和长期运行事务,那么此策略可能有用。另一方面,通常最好将此工作过滤到另一个服务类(如果可以)。在另一个服务类中会将工作放入另一个服务方,此服务方允许 WLM 在管理目标时具有更多活动余地。
- 为服务方区域和正在应用程序环境中运行的应用程序定义唯一 WLM 报告类。定义唯一 WLM 报告类使资源测量设施 (RMF) 能够更详细地报告性能信息。
- 如果将 WLM 配置设置为无限制,那么可使用 wlm_maximumSRCount=x 和 wlm_minimumSRCount=y 变量来控制服务方的最大数和最小数。
要为这些变量指定值,请在管理控制台中单击服务器 > 服务器类型 > WebSphere Application Server,并选择适当的应用程序服务器。
避免故障: 如果您为 wlm_maximumSRCount 变量指定值,那么该值必须大于或等于为此应用程序环境定 义的服务类数。如果该值小于已定义服务类的数目,那么可能由于没有足够的服务方可用而导致超时。gotcha
- 定期查看 RMF 后处理程序工作负载活动报告中报告的结果:
- 每秒事务数(不总是与客户机事务率相同)
- 平均响应时间(以及响应时间的分布)
- 所用的 CPU 时间
- 与各种延迟关联的响应时间百分比
- 密切注意缺省为 SYSOTHER 的工作。如 z/OS 信息中心主题“特定于子系统的性能提示”中所述,对于使用相关可调度单元组的子系统中的工作,如果未将服务定义进行分类,那么工作表现会下降。如果未在服务定义中对此工作添加分类规则,那么会自动将此工作分配到具有任意目标的 SYSOTHER 服务类。
- 密切注意控制区域中出现的错误消息:BBOO0037E Function
IWMSRCRR failed with RC=8,REASON=00000868。限制: 如果考虑具有活动 WebSphere Application Server 地址空间的 z/OS 系统上的工作负载管理 (WLM) 处理,那么当尝试向 WLM 注册的服务器数超过最大值 256 时,将出现此消息。具体地说,尝试向 WLM 注册的第 257 个服务器(以及后续服务器)将失败,并且会出现此消息。最大值 256 是固定的系统限制,无法更改。