![[z/OS]](../images/ngzos.gif)
z/OS 的资源恢复服务 (RRS) 调整技巧
使用这些技巧来调整 z/OS® 操作系统以优化 WebSphere® Application Server 性能。
- 要获得最佳吞吐量,请使用耦合工具 (CF) 记录器以获取 RRS
日志。
DASD 记录器会限制您的吞吐量,因为它是 I/O 敏感的。CF 记录器有更多的吞吐量(据评估,CF 记录器比 DASD 记录器快六倍)。通过将记录器中的 RRS 记录移动到耦合工具 (CF) 日志流,吞吐量会从中获益。这样做会有助于事务快速完成且不需要任何 DASD I/O。如果不能使用 CF 日志,那么使用性能良好的 DASD 并确保以较大 CI 大小 分配日志。
- 确保通过使用 SMF 88 记录优化您的 CF 记录器配置。
请参阅《 z/OS MVS™ 设置综合系统》中的调整部分或《 z/OS MVS 系统管理设施 (SMF)》中有关系统记录器记帐的章节以了解详细信息。在任何情况下,您都应该监视记录器以确保 CF 中有足够的大小且卸载不影响整个吞吐量。事务日志是主线中共享的 I/O 密集型资源,并且如果错误地调整它们会显著地影响吞吐量。
- 设置 LOGR 策略足够的缺省值。
最佳实践: LOGR 策略的缺省值可能对性能有影响。您可能要使用表中的缺省设置。bprac
表 1. LOGR 的建议缺省设置 日志流 初始大小 大小 RM.DATA 1 MB 1MB MAIN.UR 5 MB 50 MB DELAYED .UR 5 MB 50 MB RESTART 1 MB 5 MB ARCHIVE 5 MB 50 MB - 查看 XA 资源管理器日志大小。
如果您使用 XA 资源管理器并选择将日志放在记录器中,那么可能必须查看日志大小。到写此文档时为止,我们无法给出特定的建议。
最佳实践: 您可以在安装对话中配置 XA 日志,使它们存在于 HFS 或日志流中。如果您没有正在使用涉及 XA 资源的全局事务,那么不存在将日志放入日志流的点。如果将 XA 日志放入日志流中,那么应该将其放入耦合设施而不是 DASD 中。缺省名称是‘HLQ.server.M’和‘HLQ.server.D’,其中 HLQ 是在安装对话中指定的由 1-8个字符组成的用户定义的值,而‘server’是服务器短名。确保 HLQ + server 名在跨配置中唯一是安装程序的责任。 如果该名称不是唯一的,那么服务器将无法启动,因为现有日志流中的用户数据将与新服务器不匹配。在安装对话中的作业‘BBOLOGSA’中创建日志(和结构,如果可适用)。如果需要分配结构,那么还存在表明需要添加到 CFRM 策略的结构名的步骤。对于这两个日志流,应该使用初始大小 5MB 和最大大小 20MB。bprac
避免故障: 为所有日志流设置 AUTODELETE(NO)。gotcha
- 消除归档日志(如果不需要)。
最佳实践: 如果您不需要归档日志,那么应该将其消除,因为它会引入额外的 DASD I/O。归档日志包含已完成事务的结果。通常,不需要归档日志。以下是禁用归档日志记录的示例。bprac
示例://STEP1 EXEC PGM=IXCMIAPU //SYSPRINT DD SYSOUT=* //SYSIN DD * DATA TYPE(LOGR) DELETE LOGSTREAM NAME(ATR.WITPLEX.ARCHIVE) DELETE LOGSTREAM NAME(ATR.WITPLEX.MAIN.UR) DELETE LOGSTREAM NAME(ATR.WITPLEX.RESTART) DELETE LOGSTREAM NAME(ATR.WITPLEX.RM.DATA) DELETE LOGSTREAM NAME(ATR.WITPLEX.DELAYED.UR) DELETE STRUCTURE NAME(RRSSTRUCT1) /* //STEP2 EXEC PGM=IXCMIAPU //SYSPRINT DD SYSOUT=* //SYSIN DD * DATA TYPE(LOGR) DEFINE STRUCTURE NAME(RRSSTRUCT1) LOGSNUM(9) DEFINE LOGSTREAM NAME(ATR.WITPLEX.MAIN.UR) STRUCTNAME(RRSSTRUCT1) STG_DUPLEX(YES) DUPLEXMODE(UNCOND) LS_DATACLAS(SYSPLEX) LS_STORCLAS(LOGGER) HLQ(IXGLOGR) AUTODELETE(NO) RETPD(3) DEFINE LOGSTREAM NAME(ATR.WITPLEX.RESTART) STRUCTNAME(RRSSTRUCT1) STG_DUPLEX(YES) DUPLEXMODE(UNCOND) LS_DATACLAS(SYSPLEX) LS_STORCLAS(LOGGER) HLQ(IXGLOGR) AUTODELETE(NO) RETPD(3) DEFINE LOGSTREAM NAME(ATR.WITPLEX.RM.DATA) STRUCTNAME(RRSSTRUCT1) STG_DUPLEX(YES) DUPLEXMODE(UNCOND) LS_DATACLAS(SYSPLEX) LS_STORCLAS(LOGGER) HLQ(IXGLOGR) AUTODELETE(NO) RETPD(3) DEFINE LOGSTREAM NAME(ATR.WITPLEX.DELAYED.UR) STRUCTNAME(RRSSTRUCT1) STG_DUPLEX(YES) DUPLEXMODE(UNCOND) LS_DATACLAS(SYSPLEX) LS_STORCLAS(LOGGER) HLQ(IXGLOGR) AUTODELETE(NO) RETPD(3) /* //* DEFINE LOGSTREAM NAME(ATR.WITPLEX.ARCHIVE) //* STRUCTNAME(RRSSTRUCT1) //* STG_DUPLEX(YES) //* DUPLEXMODE(UNCOND) //* LS_DATACLAS(SYSPLEX) //* LS_STORCLAS(LOGGER) //* HLQ(IXGLOGR) //* AUTODELETE(NO) //* RETPD(3)
注: RRS 手册建议为每个日志流创建一个结构。