2022년 7월 8일 금요일

SAP PO의 특정 AP서버에서 부하가 발생하는 경우, 이설정을 의심해보세요

혹시 SAP PO시스템을 운영중에 특정 AP서버나 노드에서 부하가 발생하는 현상을 보신경우 로그레벨 설정을 의심해보는것도 좋을것 같습니다. 일반 어플리케이션 프로젝트를 진행하더라도 운영에 배포하는 경우  Log4j나 로그관련 라이브러리의 로그레벨은 개발과 운영환경의 설정 차이는 존재하는데요. PO에서도 채널, 메시지, 서버의 로그 등 운영상에 잘못된 설정으로 인해 전체시스템에 부하를 줄수 있는 부분이라 만약 신규 운영서버 오프 시 고려해야될 부분중에 하나인것 같습니다.

SAP PO의 로그레벨 설정

NWA > Configuration > Infrastructure > Log Configuration 메뉴를 보면 여러 카테고리가 존재하는데 서버, 각 어댑터의 로그레벨에 영향을 주는것 같고 아마 다른  AP서버의 로그레벨과 비교를 해보면 차이점을 찾을수 있을것 같습니다.

만약 이렇게 로그레벨의 차이가 발생되는경우  PO의 Message Monitoring 뿐만 아니라 Log Viewer에서도 평소에 보지 못했던 로그들이 확인이 되는 경우가 있는데 메시지모니터링의 로그와 로그뷰어의 로그간에 매칭되는 부분은 로그뷰어의 여러조건중 하나 Location이나 다른 조건을 통해 메시지모니터링의 각 인터페이스 수행중에 발생되는 로그의 서버로그를 찾을수 있습니다.

이런 각각의 로그레벨들은 잘못 설정하면 운영중인 PO서버에 부하를 줄수 있는 반면에 잘 사용하면 하나의 인터페이스가 실행될때 각 스탭별로 실행시간, 실행했던 내용 등 세부적인 부분도 분석이 가능할것 같습니다. 아마 이런 세부적인 로그들은 Performans Monitoring에서도 볼수 있을것 같습니다.(생각해보니 사용할일이 없겠네요..)

퍼포먼스 세부 스탭별 처리시간 확인할때 아래 내용을 확인 가능했던것 같습니다.
Name: module_in:CallSapAdapter...
stage:SI...
stage:VI...
Message_Put_In_Store...
Message_Wait_In_Disp_Queue...
Message_Update_Status...
stage:AM...
stage:SO..
<생략>

이렇게 보니 매핑, 큐, 어댑터모듈 등 인터페이스 하나의 모든 실행상태를 볼수 있는것 같은데 실제로 이렇게 까지 확인하는 경우는 드문것 같습니다.


기타 로그설정

위 로그 컨피그레이션 외 테스트환경의 JDBC 연계방식에서 많이 사용되는  'logSQLStatement' Additional 파라메터 설정 같은경우 한 두개 정도 운영중인 PO시스템에 반영이 되었다고 해서 시스템에 부하를 주진 않을것 같은데요. 어댑터 개수가 많아진다면 서버에 부하를 줄수도 있을것 같습니다. 그리고 메시지모니터링에 Audit Log들도 설정된 보관수치를 금방 넘어 사라져버리면 모니터링에도 영향을 줄수 있을것 같습니다.

위에 정리한 SAP PO내부의 로그 관련 설정 외에 더 많은 부분들이 존재할것 같은데요. 나증에 찾게 되면 정리해보겠습니다.(끝)

댓글 없음:

댓글 쓰기