![[z/OS]](../images/ngzos.gif)
z/OS용 RRS(Resource Recovery Service) 조정 팁
이 팁을 사용하여 WebSphere® Application Server 성능을 최적화하도록 z/OS® 운영 체제를 조정하십시오.
- 최상의 처리량을 위해서는 RRS 로그용 CF(coupling facility) 로거를 사용하십시오.
DASD 로거는 I/O를 감지하므로 처리량을 제한할 수 있습니다. CF 로거에는 더 많은 처리량이 수반됩니다(하나의 측정에서, CF 로거는 DASD 로거보다 6배 빨랐습니다). 로거의 RRS 로그를 CF(coupling facility) 로그스트림으로 이동하면 처리량 이득을 얻을 수 있습니다. 이렇게 하면 트랜잭션을 신속하게 완료할 수 있고 DASD I/O가 필요하지 않습니다. CF 로그를 사용할 수 없으면 DASD를 수행하고 로그에 큰 CI 크기가 할당되었는지 확인하십시오.
- SMF 88 레코드를 사용하여 CF 로거 구성이 최적 상태인지
확인하십시오.
세부사항은 z/OS MVS™ Sysplex 설정의 조정 섹션 또는 z/OS MVS SMF(System Management Facilities)의 System Logger Accounting에 관한 장을 참조하십시오. 어느 경우에서든지 로거를 모니터하여 CF에 충분한 공간이 있는지, 그리고 오프로드가 전체 처리량에 영향을 주는지 확인해야 합니다. 트랜잭션 로그는 기본 라인에서 공유 I/O 집중 자원이며, 조정을 잘못하면 처리량에 상당한 영향을 줄 수도 있습니다.
- LOGR 정책에 적절한 기본값을 설정하십시오.
우수 사례: LOGR 정책의 기본값은 성능에 영향을 줄 수 있습니다. 테이블에서 기본 설정을 사용할 수 있습니다. bprac
표 1. LOGR에 대해 권장되는 기본 설정 로그 스트림 초기 크기 크기 RM.DATA 1MB 1MB MAIN.UR 5MB 50MB DELAYED .UR 5MB 50MB RESTART 1MB 5MB ARCHIVE 5MB 50MB - XA 자원 관리자 로그 크기를 검토하십시오.
XA 자원 관리자를 사용 중인데 로그를 로거에 넣을 것을 선택하면 로그 크기를 검토해야 합니다. 현재 기록으로는 특정 권장사항을 제공할 수 없습니다.
우수 사례: 설치 대화 상자에서 XA 로그를 구성하여 HFS 또는 로그스트림에서 활성화할 수 있습니다. XA 자원이 관련되는 글로벌 트랜잭션을 사용하고 있지 않으면 로그스트림에 로그를 넣을 위치가 없습니다. XA 로그가 logstreams에 있으면, DASD 대신 CF(Coupling Facility)에 있어야 합니다. 기본 이름은 'HLQ.server.M' 및 'HLQ.server.D'입니다. 여기서 HLQ는 설치 대화 상자에서 지정한 1 - 8 자 사이의 사용자 정의 값이고 'server'는 서버 축약 이름입니다. HLQ + 서버 이름이 구성에서 고유한지 확인하는 것은 설치자의 책임입니다. 고유하지 않으면 기존 로그스트림의 사용자 데이터가 새 서버와 일치하지 않으므로 서버는 시작되지 않습니다. 로그는(적용 가능할 경우 구조도) 설치 대화 상자에서 '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 매뉴얼에서는 로그 스트림당 하나의 구조를
작성하도록 권장합니다.