Use these tips to tune your z/OS® operating system to optimize WebSphere® Application Server performance.
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.
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.
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.
If you don't need the archive log, we recommend that you 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.
//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)