가끔 SXI_MONITOR이나 SXMB_MONI 티코드를 통해 Integration Engine을 통해 들어오는 메시지들을 모니터링 가능한데 비동기 메시지, 인바운드 큐를 통해 들어오는 메시지들중 처리시간이 유독 오래걸리는것들이 존재할때도 있습니다.
모니터링에서는 설정된 로그레벨에 따라 ABAP Proxy가 처리되는 단계를 확인할수 있는데 지금까지 경험상 상세모니터링 화면의 PerformanceHeader정보에서 'DB_ENTRY_QUEUING' 나 'PROXY_INBOUND_APPLMETH' 의 처리시간이 오래걸리는 현상이 확인된적이 있는데요. ABAP프록시의 각 처리순서에 대해 알아보면 롱처리시간되는 스탭에 대해 해결방법에 대해서 확인해보려고 합니다.
DB_ENTRY_QUEUING 정체현상
해당 스탭에서 AP서버가 변경되며 Begin~ End~의 타임스템프의 시간이 정체되는 현상이존재했었으며 그 시간에 동일한 큐아이디를 사용하는 인터페이스는 많지 않았었습니다.
그리고 DB_ENTRY_QUEUING처리시 AP서버가 변경되는건 정상이나 정체되는 로그에서 모두 발생되는 현상인것 같습니다.
인바운드 큐에서 대기하는 시간에 지연이 생길때 발생되는 현상일수도 있으며 원인으로는 인바운드 큐에 백로그가 많은경우 SARFC모니터링이 필요할수도 있을것 같습니다.
1. INTEGRATION_ENGINE_HTTP_ENTRY
2. INTEGRATION_ENGINE
2-1. LMS_EXTRACTION
3, DB_ENTRY_QUEUING:메시지 처리전 대기상태(인바운드 프록시 호출 전)
4. PLSRV-CALL_INBOUND_PROXY: 인바운드 프록시 호출
4-1. PROXY_INBOUND_METHOD: 인바운드 프록시 실행
4-2. PROXY_INBOUND_PARSE: 페이로드 처리
4-3. PROXY_INBOUND_ALLLMETH: ABAP프로그램 실행
4-4. PROXY_INBOUND_RENDER: 응답페이로드
이런 현상을 완벽하게는 아니지만 줄일수 있는 방법에 대해 2가지를 정리해보려고 하며 Integration Engine의 설정에 대한 부분이며 SXMB_ADM에서 메뉴를 확인가능합니다.
직접 설정해서 확인된 내용이 아니라 참고 부탁드리겠습니다.
설정화면에서 디폴트로 보이는 XBTL 대용량 관련 큐로 확인되며 'EO_MSG_SIZE_LIMIT' 매개변수를 통해 처리가능한 대용량 메시지크기를 설정이 가능한것 같습니다.
예를들어 EO_INBOUND_PARALLEL 값을 4로 설정하면 XBTI0000~0003으로 큐가 생성됩니다.
Inbound프록시의 PerformanceHeader정보
각스텝마다 시작과 끝시간, 실행서버가 확인되는데요. 각 스텝과 설명은 아래와 같습니다.1. INTEGRATION_ENGINE_HTTP_ENTRY
2. INTEGRATION_ENGINE
2-1. LMS_EXTRACTION
3, DB_ENTRY_QUEUING:메시지 처리전 대기상태(인바운드 프록시 호출 전)
4. PLSRV-CALL_INBOUND_PROXY: 인바운드 프록시 호출
4-1. PROXY_INBOUND_METHOD: 인바운드 프록시 실행
4-2. PROXY_INBOUND_PARSE: 페이로드 처리
4-3. PROXY_INBOUND_ALLLMETH: ABAP프로그램 실행
4-4. PROXY_INBOUND_RENDER: 응답페이로드
Long 처리시간 해결방안
2018년도에 PO 7.5에서 동일 현상이 있어 Inbound ABAP Proxy Truning에 대해 간단하게 정리를 했었는데요. 내용을 좀 보완했습니다.이런 현상을 완벽하게는 아니지만 줄일수 있는 방법에 대해 2가지를 정리해보려고 하며 Integration Engine의 설정에 대한 부분이며 SXMB_ADM에서 메뉴를 확인가능합니다.
직접 설정해서 확인된 내용이 아니라 참고 부탁드리겠습니다.
1. Configure Filter for Queue Prioritization 설정
Configure Sender/Receiver ID메뉴에서 우선순위가 필요한 Sender/Receiver ID를 생성 후에 큐이름에 대한 Prefix와 함께 등록을 하면 해당 인터페이스 들어오는 비동기 메시지들은 우선순위 설정된 큐로 처리가 되는것 같습니다.설정화면에서 디폴트로 보이는 XBTL 대용량 관련 큐로 확인되며 'EO_MSG_SIZE_LIMIT' 매개변수를 통해 처리가능한 대용량 메시지크기를 설정이 가능한것 같습니다.
2. Integration Engine Configuration 파라메터 튜닝
이 설정에서 추가 가능한 파라메터는 'EO_INBOUND_PARALLEL'과 'EO_INBOUND_PARALLEL' 인데요. 이 튜닝가능한 매개변수는 인바운드 프록시 메시지 처리시 병렬로 처리가능한 인바운드 큐개수를 늘리는거라 완벽한 해결책이 될수 없다고 하며 Work Process와 CPU사항을 고려해 개수설정이 필요하다고 합니다.예를들어 EO_INBOUND_PARALLEL 값을 4로 설정하면 XBTI0000~0003으로 큐가 생성됩니다.
댓글 없음:
댓글 쓰기