Sun Java System Message Queue 3.7 UR1 관리 설명서

클라이언트가 연결을 설정할 수 없음

증상:

가능한 원인:

가능한 원인: 클라이언트 응용 프로그램이 연결을 닫을 수 없어 연결 수가 자원 제한을 초과합니다.

문제의 원인을 확인하는 방법: 브로커에 대한 연결을 모두 나열합니다.

imqcmd list cxn

출력에 모든 연결과 각 연결이 설정된 호스트가 나열되고 특정 클라이언트에 비정상적인 수의 연결이 열려 있는 것으로 표시됩니다.

문제를 해결하는 방법: 문제가 있는 클라이언트를 다시 작성하여 사용되지 않는 연결을 닫습니다.

가능한 원인: 브로커가 실행 중이지 않거나 네트워크 연결에 문제가 있습니다.

문제의 원인을 확인하는 방법:

문제를 해결하는 방법:

가능한 원인: 연결 서비스가 비활성 상태이거나 일시 중지되어 있습니다.

문제의 원인을 확인하는 방법: 모든 연결 서비스의 상태를 확인합니다.

imqcmd list svc

연결 서비스 상태가 unknown 또는 paused로 표시되어 있는 경우 클라이언트가 해당 서비스를 사용하여 연결을 설정할 수 없습니다.

문제를 해결하는 방법:

가능한 원인: 필요한 연결 수에 비해 사용 가능한 스레드 수가 너무 적습니다.

문제의 원인을 확인하는 방법: 브로커 로그에서 다음 항목이 있는지 확인합니다.

WARNING [B3004]: No threads are available to process a new connection on service ... Closing the new connection.

또한 다음 형식 중 하나를 사용하여 연결 서비스의 연결 수와 현재 사용 중인 스레드 수를 확인합니다.

imqcmd query svc -n serviceName imqcmd metrics svc -n serviceName -m cxn

각 연결에는 받는 메시지와 보내는 메시지에 하나씩 두 개의 스레드가 필요합니다( 스레드 풀 관리 참조).

문제를 해결하는 방법:

가능한 원인: Solaris나 Linux 플랫폼에서 필요한 연결 수에 비해 파일 설명자가 너무 적습니다.

이 문제에 대한 자세한 내용은 파일 설명자 제한 설정을 참조하십시오.

문제의 원인을 확인하는 방법: 브로커 로그에 다음과 유사한 항목이 있는지 확인합니다.

Too many open files

문제를 해결하는 방법: ulimit 설명서 페이지에 설명한 대로 파일 설명자 제한을 늘립니다.

가능한 원인: TCP 백로그가 동시에 설정할 수 있는 새 연결 요청 수를 제한합니다.

TCP 백로그는 포트 매퍼가 추가 요청을 거부하기 전에 시스템 백로그(imq.portmapper.backlog)에 저장할 수 있는 동시 연결 요청 수를 제한합니다(Windows 플랫폼의 경우 하드 코드된 백로그 제한이 있으며 Windows 데스크탑의 경우 5이고 Windows 서버의 경우 200임).

백로그 제한으로 인한 요청 거부는 비정상적으로 많은 동시 연결 요청 수로 인해 발생하는 일시적인 현상입니다.

문제의 원인을 확인하는 방법: 브로커 로그를 검사합니다. 먼저, 브로커가 특정 기간 동안 일부 연결은 수신하고 다른 일부 연결은 거부하는지 여부를 확인합니다. 그런 다음, 거부된 연결을 설명하는 메시지를 확인합니다. 그러한 메시지가 있다면 브로커는 TCP 백로그로 인한 연결 거부를 기록하지 않으므로 TCP 백로그 문제가 아닐 수 있습니다. 일부 성공적인 연결이 기록되어 있고 연결 거부는 기록되어 있지 않은 경우 TCP 백로그에 문제가 있을 수 있습니다.

문제를 해결하는 방법:

가능한 원인: 운영 체제가 동시 연결 수를 제한합니다.

Windows 운영 체제 사용권에서는 지원되는 동시 원격 연결 수를 제한합니다.

문제의 원인을 확인하는 방법: 연결에 사용할 수 있는 스레드가 충분한지 확인하고(imqcmd query svc 사용) Windows 사용권 계약 조항을 확인합니다. 로컬 클라이언트에서는 연결할 수 있지만 원격 클라이언트에서는 연결할 수 없는 경우 운영 체제 제한이 문제의 원인일 수 있습니다.

문제를 해결하는 방법:

가능한 원인: 사용자의 인증 또는 권한 부여가 실패합니다.

다음과 같은 이유로 인해 인증이 실패할 수 있습니다.

문제의 원인을 확인하는 방법: 브로커 로그의 항목에 Forbidden 오류 메시지가 있는지 확인합니다. 이 메시지는 인증 오류를 나타낼 뿐 그 원인은 나타내지 않습니다.

문제를 해결하는 방법: