Background Image
운영관리
2019.03.12 14:41

CUBRID 브로커와 시스템 메모리

조회 수 2367 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄
CUBRID는 객체 관계형 데이터베이스 관리 시스템으로서, 데이터베이스 서버, 브로커, CUBRID 매니저로 3-Tier로 구성되어 있다.
CUBRID 브로커는 서버와 외부 응용 프로그램 간의 통신을 중계하는 CUBRID 전용 미들웨어로서, 커넥션 풀링, 모니터링, 로그 추적 및 분석 기능을 제공하고 있다.

1, CUBRID 브로커 추가 방법
- $CUBRID/cubrid_broker.conf 파일에서 브로커를 설정하며 아래와 같이 broker1 파라미터 정보를 복사해 브로커명과 포트를 변경하고 구동(재구동) 한다.

[%BROKER1]

SERVICE                 =ON

BROKER_PORT             =33000

MIN_NUM_APPL_SERVER     =5

MAX_NUM_APPL_SERVER     =40

APPL_SERVER_SHM_ID      =33000

LOG_DIR                 =log/broker/sql_log

ERROR_LOG_DIR           =log/broker/error_log

SQL_LOG                 =ON

TIME_TO_KILL            =120

SESSION_TIMEOUT         =300

KEEP_CONNECTION         =AUTO

CCI_DEFAULT_AUTOCOMMIT  =ON


[%BROKER2]

SERVICE                 =ON

BROKER_PORT             =35000

MIN_NUM_APPL_SERVER     =100

MAX_NUM_APPL_SERVER     =500

APPL_SERVER_SHM_ID      =35000

LOG_DIR                 =log/broker/sql_log

ERROR_LOG_DIR           =log/broker/error_log

SQL_LOG                 =ON

TIME_TO_KILL            =120

SESSION_TIMEOUT         =300

KEEP_CONNECTION         =AUTO

CCI_DEFAULT_AUTOCOMMIT  =ON 

- WEB/WAS에서 브로커(PORT)로 연결하고 브로커가 관리하는 CAS 프로세스 하나가 DB로 연결하여 질의를 수행한다.
- WAS 서버와 connection pool을 사용할 경우 KEPP_CONNECTION  값은 AUTO로 권장한다.
- WAS 서버와 connection pool을 MIN(100), MAX(500)개로 설정 한다면 MIN_NUM_APPL_SERVER=100, MAX_NUM_APPL_SERVER=500 변경한다.
- WAS 서버와 connection pool을 MAX(500)개로 설정 한다면 $CUBRID/conf/cubrid.conf max_clients=520으로 변경한다.

2, 브로커와 시스템 메모리
- cubrid broker status로 확인한 PSIZE는 가상 메모리 사용량이다.
- CAS 메모리는 top 명령으로 모니터링하는 것이 보다 정확하다.
- CAS 메모리를 크게 증가 시키는 요인은 대부분 대량의 데이터를 insert/update/delete할 경우 발생된다.

 * top 로그

구동전: Mem:   8035668k total,  5385596k used,  2450072k free,   541144k buffers

구동후: Mem:   8035668k total,  5385596k used,  2921321k free,   541144k buffers

PID      USER      PR  NI  VIRT    RES     SHR S  %CPU %MEM    TIME+  COMMAND

29785  cubrid     15   0  58276  11m    4108 S     0.0       0.3       1:00.82 cub_cas

29773  cubrid     15   0  55052  11m    4072 S     0.0       0.3       1:16.97 cub_cas


* broker status 로그

ID      PID         QPS      LQS      PSIZE         STATUS

----------------------------------------------------------------

 1     29773     660       0         55052    CLOSE WAIT

     :

13    29785    56630     0         58276    CLOSE WAIT


- top VIRT 값은 가상 메모리의 사용량이다.
- top RES 리턴되는 값이 시스템 free 메모리 증가/감소량에 영향을 준다.
- top RES 값은 현재 페이지가 상주하고 있는 메모리 크기로 볼 수 있다.

- cubrid broker status 명령어 수행 결과에서 PSIZE는 top VIRT 값이 동일하다.

- 브로커 구동 시 500개 CAS 구동 후 메모리 사용량은 대략 470~500M 이지만 질의에 따라 메모리 사용량이 크게 증가될 수 있다.


* 참조: Windows 버전에서는 APPL_SERVER_MAX_SIZE=80M이고 값을 초과하면 브로커가 해당 CAS를 재구동한다. Linux 버전은 APPL_SERVER_MAX_SIZE 의 기본값이 0이고 CAS 프로세스가 재구동이 발생되는 이유는 현재 프로세스의 크기가 CAS의 초기 메모리의 2배가 될 때, APPL_SERVER_MAX_SIZE 의 설정 값을 초과할 때 이다, 즉, CAS를 재구동할 때 메모리 사용량이 증가해도 트랜잭션이 정상 종료되기까지 기다리기 위해 APPL_SERVER_MAX_SIZE를 설정하고, 메모리 사용량이 허용하는 기준을 넘으면 트랜잭션을 강제 종료하기 위해 APPL_SERVER_MAX_SIZE_HARD_LIMIT를 설정한다.


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
17 운영관리 디비와 테이블 문자셋이 다른 경우 처리 방법 이용미 2015.06.03 15802
16 운영관리 windows 환경에서 압축파일로 CUBRID 설치시 환경변수 쉽게 설정하기 김승훈 2015.07.02 6995
15 운영관리 CUBRID HA 구성 후 구동중인 slave/replica node에서 write 하기 정만영 2015.07.15 9043
14 운영관리 브로커 동적 파라미터 변경 방법 정만영 2015.08.13 7566
13 운영관리 큐브리드 서비스 재구동 시 cubrid manager server start: fail 오류 해결 방법 진우진 2015.12.16 7731
12 운영관리 시스템 부하가 많지 않음에도 불구하고 질의 수행이 느린 경우 THP 기능 설정 확인 및 해제 진우진 2015.12.16 7526
11 운영관리 cubrid plandump ( plan cache정보확인) file 주현 2015.12.29 4300
10 운영관리 브로커와 DB 간 연결 테스트 박동윤 2015.12.29 4934
9 운영관리 CUBRID BACKUP (linux, window) file 박동윤 2015.12.30 6244
8 운영관리 'Has been interrupted.' CUBRIDException 발생 주현 2016.01.07 6586
7 운영관리 산술 연산 결과를 피젯수 또는 젯수의 자리 수에 맞춰 보자. 성진 2016.03.01 4815
6 운영관리 Invalid XASL tree node content 에러 손승일 2016.04.26 4477
5 운영관리 큐브리드 마스터 소켓 디렉토리 변경방법 정만영 2016.07.05 4218
4 운영관리 큐브리드 포트 정리 정만영 2016.07.05 6091
3 운영관리 CUBRID 8.2.2 ~ 8.4.x 버전에서 'ALTER SERIAL ... CACHE <cached_num> / NOCACHE' ERROR 해결 방법 주영진 2017.03.08 2161
2 운영관리 윈도우 OS에서 java sp 사용 시 Java VM is not running 해결 방법 정훈 2017.09.04 2229
» 운영관리 CUBRID 브로커와 시스템 메모리 정만영 2019.03.12 2367
Board Pagination Prev 1 2 3 4 Next
/ 4

Contact Cubrid

대표전화 070-4077-2110 / 기술문의 070-4077-2113 / 영업문의 070-4077-2112 / Email. contact_at_cubrid.com
Contact Sales