[%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 |
* 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를 설정한다.