PI_PO

SAP PO Adapter Engine에서 'To be delivered' 메시지 상태가 발생하는 이유와 해결 방법

피오농부 2025. 4. 13. 02:10
반응형

SAP PO(또는 SAP PI) 환경에서 ‘To be delivered’ 메시지 상태가 발생하면 많은 분들이 원인 파악과 해결에 어려움을 겪습니다. 특히 SOAP Sender 채널을 사용하는 경우, 메시지 처리 지연과 시스템 부하로 이어질 수 있습니다. 이 글에서는 해당 현상의 징후, 원인, 해결 방안을 초보자도 쉽게 이해할 수 있도록 정리해보았습니다.


목차

  1. ‘To be delivered’ 메시지란?
  2. 주요 에러 코드와 징후
  3. 발생 원인 분석
  4. 해결 방법
  5. 자주 묻는 질문 (FAQ)
  6. 마무리 및 다음 단계

1. ‘To be delivered’ 메시지란?

SAP PO Adapter Engine에서 "To be delivered" 메시지는 메시지가 아직 대상 시스템에 전달되지 않은 상태를 의미합니다. 특히 SOAP Sender Channel을 통한 동기(Synchronous) 메시지 처리에서 자주 발생하며, 시스템 부하와 직결되는 중요한 지표입니다.


2. 주요 에러 코드와 징후

이 현상이 발생할 때 아래와 같은 징후들을 PO 메시지 모니터링에서 확인할 수 있습니다:

  • 408 - Request Timeout
    → PO가 요청을 받았으나 대기시간 초과로 타임아웃 발생.
  • 411 - Connect to [PO Server:Port] failed: NIECONN_Refused(-10)
    → PO 서버에서 HTTP 요청을 제대로 수신하지 못할 때 발생.
  • SPROXY 실행 시 오류
    → "Connection Refused: 404" 등 ESR 접속 실패.

또한, PO의 HTTP 관련 스레드가 모두 ‘Processing’ 상태로 고정되어 새로운 연결을 처리하지 못하는 문제가 발생하고, PO 접속 세션 수가 점점 증가하는 현상도 나타납니다.


3. 발생 원인 분석

이러한 문제는 대부분 다음과 같은 이유로 발생합니다:

  • PO 시스템 내부의 처리 자원(스레드) 부족
  • SOAP 동기 요청이 한 Adapter Engine에 과도하게 집중
  • 송신 시스템의 비정상 호출 또는 타겟 시스템의 처리 지연

관련 OSS 노트:


4. 해결 방법

4-1. 단기적인 대응

  • PO 시스템을 재시작하면 일시적으로 해결되기도 합니다.
  • 메시징 스레드 수를 조절하여 일시적인 부하 완화 가능.

4-2. 장기적인 해결책

  • Sender 채널의 타임아웃 설정 조정
    • XI.Timeout 또는 syncTimeout 값 조절
    • 대량 메시지 처리 시 성능문제 예방
  • 비정상적인 메시지 호출 패턴 수정
    • 송신 시스템 로직 점검
    • 타겟 시스템 처리 지연 원인 분석 및 개선

5. 자주 묻는 질문 (FAQ)

Q1. 'To be delivered' 상태는 꼭 오류인가요?

A. 반드시 오류는 아니지만, 전달 지연이 누적되면 전체 시스템 성능에 큰 영향을 줄 수 있습니다.

Q2. 메시징 스레드 수를 늘리면 해결되나요?

A. 일시적인 해결은 되지만, 송신 시스템의 호출 방식이나 메시지 양을 함께 점검해야 근본적인 해결이 됩니다.

Q3. ABAP Proxy 호출에도 영향을 주나요?

A. 네, PO의 HTTP 스레드가 점유되면 ABAP Proxy 요청도 처리 지연이나 실패로 이어질 수 있습니다.


6. 마무리 및 다음 단계

SAP PO에서 'To be delivered' 메시지 상태는 단순한 메시지 지연이 아닌, 시스템 부하와 서비스 안정성에 직결되는 문제입니다. 위에서 설명한 징후와 원인을 체크하시고, 송신 채널 설정과 메시지 구조를 점검해 보세요.

👉 도움이 되셨다면 글을 공유하거나, 댓글로 질문을 남겨주세요!

반응형