증상:
메시지 처리량이 기대에 미치지 못합니다.
브로커에 대해 지원되는 연결 수가 클라이언트가 연결을 설정할 수 없음에 설명된 대로 제한되는 것이 아니라 메시지 입출력 속도에 의해 제한됩니다.
가능한 원인:
가능한 원인: 네트워크 연결 또는 WAN이 너무 느립니다.
문제의 원인을 확인하는 방법:
네트워크를 핑하여 핑이 반환되는 데 걸리는 시간을 확인한 다음 네트워크 관리자에게 문의합니다.
로컬 클라이언트를 사용하여 메시지를 보내고 받은 다음 이 전달 시간을 네트워크 링크를 사용하는 원격 클라이언트의 전달 시간과 비교할 수 있습니다.
문제를 해결하는 방법: 네트워크 링크를 업그레이드합니다.
가능한 원인: 연결 서비스 프로토콜이 기본적으로 TCP에 비해 느립니다.
예를 들어 SSL 기반 또는 HTTP 기반 프로토콜이 TCP보다 느립니다( 전송 프로토콜 참조).
문제의 원인을 확인하는 방법: SSL 기반 또는 HTTP 기반 프로토콜을 사용하는 경우 TCP를 사용해보고 전달 시간을 비교합니다.
문제를 해결하는 방법: 일반적으로 응용 프로그램 요구 사항에 따라 사용되는 프로토콜이 지정되므로 전송 프로토콜 조정에 설명된 대로 프로토콜을 조정해보는 것 이외에 할 수 있는 작업이 거의 없습니다.
가능한 원인: 연결 서비스 프로토콜이 최적으로 조정되어 있지 않습니다.
문제의 원인을 확인하는 방법: 프로토콜을 조정하여 어떻게 달라지는지 확인합니다.
문제를 해결하는 방법: 전송 프로토콜 조정에 설명된 대로 프로토콜을 조정합니다.
가능한 원인: 메시지가 너무 커서 너무 많은 대역폭을 사용합니다.
문제의 원인을 확인하는 방법: 작은 크기의 메시지를 사용하여 벤치마크를 실행해 봅니다.
문제를 해결하는 방법:
응용 프로그램 개발자에게 응용 프로그램을 수정하여 메시지 압축 기능을 사용하게 합니다. 이 방법에 대해서는 Java 클라이언트용 Message Queue 개발 안내서에 설명되어 있습니다.
메시지를 보낼 데이터의 알림으로 사용하고 데이터는 다른 프로토콜을 사용하여 이동합니다.
가능한 원인: 연결 처리량이 느린 것처럼 보이는 것은 실제로는 메시지 전달 프로세스의 어떤 단계에 병목 현상이 있는 것입니다.
문제의 원인을 확인하는 방법: 위의 원인 중 어떤 것으로도 느린 연결 처리량에 대해 설명할 수 없는 경우 성능에 영향을 미치는 요소를 참조하여 다른 병목 현상이 있을 수 있는지 확인하고 다음 문제와 관련된 증상이 있는지 확인합니다.
문제를 해결하는 방법: 위에 나열된 문제 해결 절에 제공되어 있는 문제 해결 지침을 따릅니다.