![[z/OS]](../images/ngzos.gif)
Resource Recovery Service (RRS) tuning tips for z/OS
Use these tips to tune your z/OS® operating system to optimize WebSphere® Application Server performance.
- For best throughput, use coupling facility (CF) logger for the
RRS log.
DASD logger can limit your throughput because it is I/O-sensitive. The CF logger has much more throughput (in one measurement, the CF logger was six times faster than the DASD logger). Throughput will benefit from moving the RRS logs in logger to a coupling facility (CF) logstream. Doing so will help transactions complete quickly and not require any DASD I/O. If it's not possible to use CF logs, use well performing DASD and make sure the logs are allocated with large CI sizes.
- Ensure that your CF logger configuration is optimal by using SMF
88 records.
See the tuning section of z/OS MVS™ Setting Up a Sysplex or the chapter on System Logger Accounting in z/OS MVS System Management Facilities (SMF) for details. In any case, you should monitor the logger to ensure that there is a sufficient size in the CF and that offloading is not impacting the overall throughput. The transaction logs are shared I/O-intensive resources in the mainline and can affect throughput dramatically if mistuned.
- Set adequate default values for the LOGR policy.
Pratiques recommandées: Default values of LOGR policy may have an impact on performance. You might want to use the default settings in the table. bprac
Table 1. Recommended default setting for LOGR Log Stream Initial Size Size 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 - Review XA Resource Managers log sizes.
If you are using XA Resource Managers and you have chosen to put the logs in the logger, you may have to review the log sizes. As of this writing, we cannot give specific recommendations.
Pratiques recommandées: You can configure the XA logs in the install dialog to live either in the HFS or in logstreams. If you are not using global transactions involving XA resources, there is no point in putting the log in a logstream. If the XA logs are placed in logstreams, they should be in the Coupling Facility instead of DASD. The default names are 'HLQ.server.M' and 'HLQ.server.D' where HLQ is a user-defined value between 1-8 characters specified in the install dialog, and 'server' is the server short name. It is the installer's responsibility to ensure that the HLQ + server name is unique across the configuration. If it is not, the server will fail to start because the user data in the existing logstream will not match that of the new server. The logs (and structures, if applicable) are created in job 'BBOLOGSA' in the install dialog. If structures need to be allocated, there is also a step indicating what structure names need to be added to the CFRM policy. 5MB initial and 20MB max sizes should be used for both of these logstreams.bprac
Eviter les incidents: Set AUTODELETE(NO) for all logstreams.gotcha
- Eliminate archive log if not needed.
Pratiques recommandées: If you don't need the archive log, you should eliminate it since it can introduce extra DASD I/Os. The archive log contains the results of completed transactions. Normally, the archive log is not needed. Following is an example of disabling archive logging.bprac
Example://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)