imqcmd 유틸리티에는 다음과 같은 연결 서비스 관리 작업을 수행할 수 있는 하위 명령이 포함되어 있습니다.
브로커는 응용 프로그램 클라이언트 및 관리 클라이언트 모두와의 연결을 지원합니다. 현재 Message Queue 브로커에서 사용 가능한 연결 서비스는 표 5–1에서 확인할 수 있습니다. 표에 나타난 것과 같이 각 서비스는 NORMAL(응용 프로그램 클라이언트) 또는 ADMIN(관리 클라이언트) 중에서 사용하는 서비스 유형과 기본 전송 프로토콜에 연결됩니다.
표 5–1 Message Queue 연결 서비스
서비스 이름 |
서비스 유형 | |
---|---|---|
NORMAL | ||
NORMAL | ||
NORMAL | ||
NORMAL | ||
ADMIN |
TCP |
|
ADMIN |
TLS(SSL 기반 보안) |
imqcmd 하위 명령을 사용하면 연결 서비스 전체를 관리하거나 특정 연결 서비스를 관리할 수 있습니다. 하위 명령의 대상이 특정 서비스인 경우 -n 옵션을 사용하여 표 5–1의 서비스 이름 열에 나열된 이름 중 하나를 지정합니다.
브로커에서 사용 가능한 연결 서비스를 나열하려면 list svc 하위 명령을 사용합니다.
다음은 list svc 하위 명령 구문입니다.
imqcmd list svc [-b hostName: portNumber]
이 하위 명령은 기본 브로커 또는 지정한 호스트 및 포트의 브로커에서 연결 서비스를 모두 나열합니다.
다음 명령은 localhost의 포트 7676에서 실행 중인 브로커의 모든 서비스를 나열합니다.
imqcmd list svc -u admin
이 명령은 다음과 같은 정보를 출력합니다.
------------------------------------------------ Service Name Port Number Service State ------------------------------------------------ admin 41844 (dynamic) RUNNING httpjms - UNKNOWN httpsjms - UNKNOWN jms 41843 (dynamic) RUNNING ssladmin dynamic UNKNOWN ssljms dynamic UNKNOWN |
단일 서비스에 대한 정보를 쿼리 및 표시하려면 query 하위 명령을 사용합니다.
다음은 query svc 하위 명령 구문입니다.
imqcmd query svc -n serviceName [-b hostName:portNumber]
query svc 하위 명령은 기본 브로커 또는 지정한 호스트 및 포트의 브로커에서 실행 중인 지정된 서비스에 대한 정보를 표시합니다.
예를 들면 다음과 같습니다.
imqcmd query svc -n jms -u admin
이 명령은 비밀번호를 묻는 메시지를 표시한 후 다음과 같은 출력을 생성합니다.
Service Name jms Service State RUNNING Port Number 60920 (dynamic) Current Number of Allocated Threads 0 Current Number of Connections 0 Min Number of Threads 10 Max Number of Threads 1000 |
update 하위 명령을 사용하여 표 5–2에 나열된 서비스 등록 정보 중 하나 이상을 변경할 수 있습니다.
표 5–2 imqcmd에서 업데이트하는 연결 서비스 등록 정보
등록 정보 |
설명 |
---|---|
port |
업데이트할 서비스에 할당된 포트입니다(httpjms 또는 httpsjms에는 적용되지 않음). 값이 0인 경우 포트 매퍼가 포트를 동적으로 할당합니다. |
minThreads | |
maxThreads |
서비스에 할당된 최대 스레드 수입니다. |
다음은 update 하위 명령 구문입니다.
imqcmd update svc -n serviceName [-b hostName:portNumber] -o attribute=value [-o attribute=value1]…
이 하위 명령은 기본 브로커 또는 지정한 호스트 및 포트의 브로커에서 실행 중인, 지정된 서비스의 지정된 속성을 업데이트합니다. 서비스 속성에 대한 자세한 내용은 연결 등록 정보를 참조하십시오.
다음 명령은 jms 서비스에 할당된 최소 스레드 수를 20으로 변경합니다.
imqcmd update svc -n jms -o "minThreads=20" -u admin
단일 서비스에 대한 메트릭 정보를 표시하려면 metrics 하위 명령을 사용합니다.
다음은 metrics 하위 명령 구문입니다.
imqcmd metrics svc -n serviceName [-b hostName:portNumber] [-m metricType ] [-int interval] [-msp numSamples]
이 하위 명령은 기본 브로커 또는 지정한 호스트 및 포트의 브로커에서 지정된 서비스의 메트릭을 표시합니다.
-m 옵션을 사용하여 표시할 메트릭 유형을 지정합니다.
ttl 브로커에 유입 및 유출되는 메시지와 패킷의 메트릭을 지정된 연결 서비스를 통해 표시합니다(기본 메트릭 유형).
rts 브로커에 메시지와 패킷이 유입 및 유출되는 초당 속도에 대한 메트릭을 지정된 연결 서비스를 통해 표시합니다.
cxn 연결, 가상 메모리 힙 및 스레드를 표시합니다.
-int 옵션을 사용하여 메트릭 표시 간격(초)을 지정합니다. 기본값은 5초입니다.
-msp 옵션을 사용하여 출력에 표시되는 샘플 수를 지정합니다. 기본값은 무제한 수입니다(무한).
예를 들어, 다음 명령은 jms 연결 서비스에서 처리된 메시지 및 패킷의 누적 총 수를 구합니다.
imqcmd metrics svc -n jms -m ttl -u admin
이 명령은 비밀번호를 묻는 메시지를 표시한 후 다음과 같은 출력을 생성합니다.
------------------------------------------------- Msgs Msg Bytes Pkts Pkt Bytes In Out In Out In Out In Out ------------------------------------------------- 164 100 120704 73600 282 383 135967 102127 657 100 483552 73600 775 876 498815 149948 |
imqcmd를 사용하여 연결 서비스 메트릭을 보고하는 방법에 대한 자세한 내용은 연결 서비스 메트릭을 참조하십시오.
일시 중지할 수 없는 admin 서비스를 제외한 모든 서비스를 일시 중지하려면 pause svc 및 resume svc 하위 명령을 사용합니다.
다음은 pause svc 하위 명령 구문입니다.
imqcmd pause svc -n serviceName [-b hostName:portNumber]
이 하위 명령은 기본 브로커 또는 지정한 호스트 및 포트의 브로커에서 실행 중인 지정된 서비스를 일시 중지합니다.예를 들어, 다음 명령은 기본 프로커에서 실행 중인 httpjms 서비스를 일시 중지합니다.
imqcmd pause svc -n httpjms -u admin
서비스를 일시 중지하면 다음과 같은 현상이 나타납니다.
브로커는 일시 중지된 서비스에서 새 클라이언트 연결 수신을 멈춥니다. Message Queue 클라이언트가 새 연결을 열려고 하면 예외가 발생합니다.
일시 중지된 서비스의 기존 연결은 모두 그대로 유지되지만 브로커는 서비스가 다시 시작될 때까지 이러한 연결의 모든 메시지 처리를 지연합니다(예를 들어, 클라이언트가 메시지를 보내려고 하면 서비스가 다시 시작될 때까지 send 메소드가 차단됨).
브로커가 이미 수신한 메시지의 메시지 전달 상태는 그대로 유지됩니다(예를 들어, 트랜잭션이 중단되지 않고 서비스가 다시 시작되면 메시지 전달이 재개됨).
서비스를 다시 시작하려면 resume svc 하위 명령을 사용합니다.
다음은 resume svc 하위 명령 구문입니다.
imqcmd resume svc -n serviceName[-b hostName:portNumber]