Open Source RDBMS - Seamless, Scalable, Stable and Free

한국어 | Login |Register

Versions available for this page: CUBRID 8.2.1 |  CUBRID 8.3.0 |  CUBRID 8.3.1 |  CUBRID 8.4.0 |  CUBRID 8.4.1 |  CUBRID 8.4.3 |  CUBRID 9.0.0 | 



브로커 상태 확인

설명

cubrid broker status는 여러 옵션을 제공하여, 각 브로커의 처리 완료된 작업 수, 처리 대기중인 작업 수를 포함한 브로커 상태 정보를 확인할 수 있도록 한다.

구문

<expr>이 주어지면 해당 브로커에 대한 상태 모니터링을 수행하고, 생략되면 CUBRID 브로커 환경 설정 파일(cubrid_broker.conf)에 등록된 전체 브로커에 대해 상태 모니터링을 수행한다.

cubrid broker status options [<expr>]

options : [ -b | -f [-l secs] | -q | -t | -s secs ]

옵션

다음은 결합할 수 있는 옵션에 관해 설명한 표이다.

옵션

설명

<expr>

브로커 이름이 <expr>을 포함하는 브로커에 관한 상태 정보를 출력한다. 지정되지 않으면 전체 브로커의 상태 정보를 출력한다.

-b

응용 서버(CAS)에 관한 정보는 포함하지 않고, 브로커에 관한 상태 정보만 출력한다.

-f [-l secs]

브로커가 접속한 DB 및 호스트 정보를 출력한다.
-b 옵션과 함께 쓰이는 경우, 응용 서버(CAS) 정보를 추가로 출력한다.
-l secs 옵션은 클라이언트 Waiting/Busy 상태인 응용 서버의 개수를 출력할 때 누적 주기(단위: 초)를 지정하기 위해 사용한다. -l secs 옵션을 생략하면 기본값은 1초이다.

-q

작업 큐에 대기 중인 작업을 출력한다.

-t

화면 출력시 tty mode 로 출력한다. 출력 내용을 리다이렉션하여 파일로 쓸 수 있다.

-s secs

브로커에 관한 상태 정보를 지정된 시간마다 주기적으로 출력한다. q를 입력하면 명령 프롬프트로 복귀한다.

-f

브로커가 접속한 DB 및 호스트 정보를 출력한다.

예제

전체 브로커 상태 정보를 확인하기 위하여 옵션 및 인수를 입력하지 않으면 다음과 같이 출력된다.

% cubrid broker status
@ cubrid broker status
% query_editor  - cub_cas [28433,40820] /home/CUBRID/log/broker/query_editor.access /home/CUBRID/
 JOB QUEUE:0, AUTO_ADD_APPL_SERVER:ON, SQL_LOG_MODE:ALL:100000, SLOW_LOG:ON
 LONG_TRANSACTION_TIME:60, LONG_QUERY_TIME:60, SESSION_TIMEOUT:300
 KEEP_CONNECTION:AUTO, ACCESS_MODE:RW, MAX_QUERY_TIMEOUT:0
----------------------------------------
ID   PID   QPS   LQS PSIZE STATUS
----------------------------------------
 1 28434     0     0 50144 IDLE
 2 28435     0     0 50144 IDLE
 3 28436     0     0 50144 IDLE
 4 28437     0     0 50140 IDLE
 5 28438     0     0 50144 IDLE
 
% broker1  - cub_cas [28443,40821] /home/CUBRID/log/broker/broker1.access /home/CUBRID/
 JOB QUEUE:0, AUTO_ADD_APPL_SERVER:ON, SQL_LOG_MODE:ALL:100000, SLOW_LOG:ON
 LONG_TRANSACTION_TIME:60, LONG_QUERY_TIME:60, SESSION_TIMEOUT:300
 KEEP_CONNECTION:AUTO, ACCESS_MODE:RW, MAX_QUERY_TIMEOUT:0
----------------------------------------
ID   PID   QPS   LQS PSIZE STATUS
----------------------------------------
 1 28444     0     0 50144 IDLE
 2 28445     0     0 50140 IDLE
 3 28446     0     0 50144 IDLE
 4 28447     0     0 50144 IDLE
 5 28448     0     0 50144 IDLE

  • % query_editor : 브로커의 이름
  • cub_cas : CUBRID 응용 서버의 형태
  • [28433, 40820] : 브로커 프로세스 ID와 브로커 접속 포트 번호
  • /home/CUBRID/log/broker/query_editor.access : query_editor의 접속 로그 파일의 위치 정보
  • JOB QUEUE : 작업 큐에 대기 중인 작업 개수
  • AUTO_ADD_APPL_SERVER : 자동으로 응용 서버가 추가되도록 cubrid_broker.conf의 AUTO_ADD_APPL_SERVER 파라미터 값이 ON이다.
  • SQL_LOG_MODE : 모든 SQL에 대해 로그를 기록하기 위해 cubrid_broker.conf 파일의 SQL_LOG 파라미터 값을 ALL로 지정하였다.
  • SLOW_LOG : 장기 실행 질의문 또는 에러가 발생한 질의문을 SLOW SQL LOG 파일에 기록하기 위해 cubrid_broker.conf 파일의 SLOW_LOG 파라미터 값을 ON으로 지정하였다.
  • LONG_TRANSACTION_TIME : 장기 실행(long-duration) 트랜잭션으로 판단하는 트랜잭션의 실행 시간. 트랜잭션의 실행시간이 60초를 넘으면 장기 실행 트랜잭션이다.
  • LONG_QUERY_TIME : 장기 실행 질의(long-duration query)으로 판단하는 질의의 실행 시간. 질의의 실행 시간이 60초를 넘으면 장기 실행 질의이다.
  • SESSION_TIMEOUT : 트랜잭션 시작 이후 커밋 혹은 롤백하지 않은 채로 아무런 요청이 없는 상태의 응용 서버(CAS) 세션을 종료하기 위한 타임아웃 값. 이 상태에서 이 시간을 초과하면 응용 클라이언트와 응용 서버(CAS) 간의 접속이 종료된다. cubrid_broker.conf의 SESSION_TIMEOUT 파라미터 값이 300(초)이다.
  • KEEP_CONNECTION : 응용 서버(CAS)와 클라이언트의 연결이 AUTO가 되도록 cubrid_broker.conf 파일의 KEEP_CONNECTION 파라미터 값을 AUTO로 지정하였다.
  • ACCESS_MODE : 브로커의 동작 모드. RW는 데이터베이스 조회 뿐만 아니라 수정도 가능한 모드이다.
  • MAX_QUERY_TIMEOUT : 질의 수행의 타임아웃 시간. 설정한 시간을 초과하면 수행되던 질의가 롤백된다. 이 값이 0인 경우 시간 제한이 없음을 의미한다.
  • ID : 브로커 내에서 순차적으로 부여한 응용 서버(CAS)의 일련 번호
  • PID : 브로커 내 응용 서버(CAS) 프로세스의 ID
  • QPS : 초당 처리된 질의의 수
  • LQS : 초당 처리되는 장기 실행 질의의 수
  • PSIZE : 응용 서버 프로세스 크기
  • STATUS : 응용 서버의 현재 상태로서, BUSY/IDLE/CLIENT_WAIT/CLOSE_WAIT가 있다.

브로커에 관한 상태 정보를 확인하려면 다음과 같이 입력한다.

% cubrid broker status -b
@ cubrid broker status
  NAME           PID  PORT  AS  JQ      REQ  TPS  QPS  LONG-T  LONG-Q ERR-Q
===========================================================================
* query_editor  4094 30000   5   0        0    0    0    0/60    0/60    0
* broker1       4104 33000   5   0        0    0    0    0/60    0/60    0

  • NAME : 브로커 이름
  • PID : 브로커의 프로세스 ID
  • PORT : 브로커의 포트 번호
  • AS : 응용 서버 개수
  • JQ : 작업 큐에서 대기 중인 작업 개수
  • REQ : 브로커가 처리한 클라이언트 요청 개수
  • TPS : 초당 처리된 트랜잭션의 수(옵션이 "-b -s < sec >"일 때만 계산)
  • QPS : 초당 처리된 질의의 수(옵션이 "-b -s < sec >"일 때만 계산)
  • LONG-T : LONG_TRANSACTION_TIME 시간을 초과한 트랜잭션 수 / LONG_TRANSACTION_TIME 파라미터의 값
  • LONG-Q : LONG_QUERY_TIME 시간을 초과한 질의의 수 / LONG_QUERY_TIME 파라미터의 값
  • ERR-Q : 에러가 발생한 질의의 수

-q 옵션을 이용하여 broker1을 포함하는 이름을 가진 브로커의 상태 정보를 확인하고, 해당 브로커의 작업 큐에 대기 중인 작업 상태를 확인하기 위하여 다음과 같이 입력한다. 인수로 broker1을 입력하지 않으면 모든 브로커에 대하여 작업 큐에 대기 중인 작업 리스트가 출력된다.

% cubrid broker status -q broker1
@ cubrid broker status
% broker1  - cub_cas [28443,40821] /home/CUBRID/log/broker/broker1.access /home/CUBRID/
 JOB QUEUE:0, AUTO_ADD_APPL_SERVER:ON, SQL_LOG_MODE:ALL:100000, SLOW_LOG:ON
 LONG_TRANSACTION_TIME:60, LONG_QUERY_TIME:60, SESSION_TIMEOUT:300
 KEEP_CONNECTION:AUTO, ACCESS_MODE:RW, MAX_QUERY_TIMEOUT:0
----------------------------------------
ID   PID   QPS   LQS PSIZE STATUS
----------------------------------------
 1 28444     0     0 50144 IDLE
 2 28445     0     0 50140 IDLE
 3 28446     0     0 50144 IDLE
 4 28447     0     0 50144 IDLE
 5 28448     0     0 50144 IDLE

-s 옵션을 이용하여 broker1을 포함하는 이름을 가진 브로커의 모니터링 주기를 입력하고, 주기적으로 브로커의 상태를 모니터링하기 위해 다음과 같이 입력한다. 인수로 broker1을 입력하지 않으면 모든 브로커에 대하여 상태 모니터링이 주기적으로 수행된다. 또한, q를 입력하면 모니터링 화면에서 명령 프롬프트로 복귀한다.

% cubrid broker status -s 5 broker1
% broker1  - cub_cas [28443,40821] /home/CUBRID/log/broker/broker1.access /home/CUBRID/
 JOB QUEUE:0, AUTO_ADD_APPL_SERVER:ON, SQL_LOG_MODE:ALL:100000, SLOW_LOG:ON
 LONG_TRANSACTION_TIME:60, LONG_QUERY_TIME:60, SESSION_TIMEOUT:300
 KEEP_CONNECTION:AUTO, ACCESS_MODE:RW, MAX_QUERY_TIMEOUT:0
----------------------------------------
ID   PID   QPS   LQS PSIZE STATUS
----------------------------------------
 1 28444     0     0 50144 IDLE
 2 28445     0     0 50140 IDLE
 3 28446     0     0 50144 IDLE
 4 28447     0     0 50144 IDLE
 5 28448     0     0 50144 IDLE

-t 옵션을 이용하여 TPS와 QPS 정보를 파일로 출력한다.  파일로 출력하는 것을 중단하려면 <Ctrl+C>를 눌러서 프로그램을 정지시킨다.

% cubrid broker status -b -t -s 1 > log_file

-b 옵션과 -s 옵션을 이용하여 모든 브로커의 TPS와 QPS를 포함한 상태 모니터링을 주기적으로 수행할 경우 다음과 같이 입력한다.

% cubrid broker status -b -s 1
NAME           PID  PORT  AS  JQ      REQ  TPS  QPS  LONG-T  LONG-Q ERR-Q
===========================================================================
* query_editor 28433 40820   5   0        0    0    0    0/60    0/60    0
* broker1      28443 40821   5   0        0    0    0    0/60    0/60    0

-f 옵션을 이용하여 브로커가 연결한 서버/데이터베이스 정보와 응용 클라이언트의 최근 접속 시각, 그리고 CAS에 접속하는 클라이언트의 IP 주소 등을 확인하기 위해 다음과 같이 입력한다.

$ cubrid broker status -f broker1
@ cubrid broker status
% broker1  - cub_cas [28443,40821] /home/CUBRID/log/broker/broker1.access /home/CUBRID/
 JOB QUEUE:0, AUTO_ADD_APPL_SERVER:ON, SQL_LOG_MODE:ALL:100000, SLOW_LOG:ON
 LONG_TRANSACTION_TIME:60, LONG_QUERY_TIME:60, SESSION_TIMEOUT:300
 KEEP_CONNECTION:AUTO, ACCESS_MODE:RW, MAX_QUERY_TIMEOUT:0
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
ID   PID   QPS   LQS PSIZE STATUS         LAST ACCESS TIME      DB       HOST   LAST CONNECT TIME       CLIENT IP   SQL_LOG_MODE   TRANSACTION STIME # CONNECT # RESTART
---------------------------------------------------------------------------------------------------------------------------------------------------------------------------
1 26946     0     0 51168 IDLE         2011/11/16 16:23:42  demodb  localhost 2011/11/16 16:23:40      10.0.1.101           NONE 2011/11/16 16:23:42         0         0
2 26947     0     0 51172 IDLE         2011/11/16 16:23:34      -          -                   -          0.0.0.0              -                   -         0         0
3 26948     0     0 51172 IDLE         2011/11/16 16:23:34      -          -                   -          0.0.0.0              -                   -         0         0
4 26949     0     0 51172 IDLE         2011/11/16 16:23:34      -          -                   -          0.0.0.0              -                   -         0         0
5 26950     0     0 51172 IDLE         2011/11/16 16:23:34      -          -                   -          0.0.0.0              -                   -         0         0

각 컬럼에 대한 설명은 다음과 같다.

  • LAST ACCESS TIME : 응용 서버(CAS) 구동 시각 또는 응용 클라이언트의 응용 서버 최근 접속 시각
  • DB : 응용 서버(CAS)의 최근 접속 데이터베이스 이름
  • HOST : 응용 서버(CAS)의 최근 접속 호스트 이름
  • LAST CONNECT TIME: 응용 서버(CAS)의 DB 서버 최근 접속 시각
  • CLIENT IP : 현재 응용 서버(CAS)에 접속 중인 응용 클라이언트의 IP 주소. 현재 접속 중인 응용 클라이언트가 없으면 0.0.0.0으로 출력
  • SQL_LOG_MODE : 응용 서버(CAS)의 SQL 로그 기록 모드. 브로커에 설정된 모드와 동일한 경우 "-"으로 출력
  • TRANSACTION STIME : 트랜잭션 시작 시간
  • # CONNECT : 브로커 시작 후 응용 클라이언트가 응용 서버(CAS)에 접속한 회수
  • # RESTART : 브로커 시작 후 응용 서버(CAS)의 재구동 회수

-b 옵션과 -f 옵션을 이용하여 AS(T W B Ns-W Ns-B), CANCELED 정보를 출력한다.

// 브로커 상태 정보 실행 시 -f 옵션 추가. -l 옵션으로 N초 동안의 Ns-W, Ns-B를 출력하도록 초를 설정

% cubrid broker status -b -f -l 2

@ cubrid broker status

NAME          PID    PSIZE PORT  AS(T W B 2s-W 2s-B) JQ REQ TPS QPS LONG-T LONG-Q ERR-Q CANCELED ACCESS_MODE SQL_LOG

====================================================================================================================

query_editor 16784 56700 38000      5 0 0     0   0   0   0  0    0 0/60.0 0/60.0     0        0          RW     ALL

각 컬럼에 대한 설명은 다음과 같다.

  • AS(T) : 실행 중인 응용 서버(CAS)의 전체 개수
  • AS(W): 현재 클라이언트 대기(Waiting) 상태인 응용 서버(CAS)의 개수
  • AS(B): 현재 클라이언트 수행(Busy) 상태인 응용 서버(CAS)의 개수
  • AS(Ns-W): N초 동안 클라이언트 대기(Waiting) 상태였던 응용 서버(CAS)의 개수
  • AS(Ns-B): N초 동안 클라이언트 수행(Busy) 상태였던 응용 서버(CAS)의 개수
  • CANCELED: 브로커 시작 이후 사용자 인터럽트로 인해 취소된 질의의 개수 (-l N 옵션과 함께 사용하면 N초 동안 누적된 개수)