Background Image
조회 수 25680 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

크게 작게 위로 아래로 댓글로 가기 인쇄

1. 소    개

CUBRID에서기본 설정으로 제공되는 동시 접속자 수는 약 50이내이다. 동시접속자 수가 더많은 환경에서는 MAX_NUM_APPL_SERVER라는브로커 파라미터와 max_clients라는서버 파라미터를 수정하여야 한다.


max_clients : DB서버가 허용하는 동시접속 개수를 설정하며, 디폴트 값은 50이다.

MAX_NUM_APPL_SERVER: 해당 브로커가 허용하는 CAS 프로세스의 동시접속 개수를 설정하며, 디폴트 값은 40이다.

CAS 프로세스 1개는 여러개의 connection을처리할 수 있기때문에 MAX_NUM_APPL_SERVER 값이 40이더라도 실제처리 가능한 동시 connection 수는 이보다 훨씬 많다.


2. 동시접속자의 수가 200 명인경우 파라미터 설정하기

2.1 cubrid_broker.conf 파일에서 [%BROKER1]의 MAX_NUM_APPL_SERVER 값을변경한다.

서버 리소스가 충분하다면 안전하게 MAX_NUM_APPL_SERVER=200으로설정한다.(실제처리 가능한 동시 connection 수는 이보다 훨씬 많을것이다)

서버 리소스를 효율적으로 사용하려면 운영환경을 모니터링하면서 MAX_NUM_APPL_SERVER=50이상~200이하인 값으로 설정한다.


2.2 cubrid.conf 파일에서 max_client 파라미터를 MAX_NUM_APPL_SERVER 값의 1.2배 수준으로 설정하기.


2.3파라미터가 적용을 위해브로커와 DB를재구동한다.


3. 관련매뉴얼 및 튜토리얼 링크

 

http://www.cubrid.com/zbxe/57153

http://www.cubrid.com/zbxe/65384#comment_65399

http://www.cubrid.com/online_manual/cubrid_830/pm/pm_db_classify_connect.htm

http://www.cubrid.com/online_manual/cubrid_830/admin/admin_service_server_start.htm

http://www.cubrid.com/online_manual/cubrid_830/admin/admin_service_broker_all.htm

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


CUBRID에서 동시 접속자와 관련 있는 파라미터는

MAX_NUM_APPL_SERVER 라는 브로커 파라미터와 max_clients라는 서버 파라미터이다.

기본적으로 MAX_NUM_APPL_SERVER 파라미터를 조정하여 CAS 개수를 응용 클라이언트 갯수(연결 요청 수)보다 많게 설정하는 것이 중요하다.


응용 클라이언트와 브로커의 CAS가 연결을 맺고 트랜잭션 처리 후 종료되면 해당 CAS가 유휴상태가 되고

브로커는 다음 응용 요청에 대해 유휴상태의 CAS들과 연결을 맺어준다.

문제는 파일 다운로드와 같이 트랜잭션 시간이 상당히 긴 경우, 한개 트랜잭션 내에 복수개의 쿼리라 실행되도록 응용 로직이 구현되어 있는 경우, 이러한 긴 트랜잭션들이 동시 수행되는 경우 모든 CAS들이 클라이언트에 묶여 있게 되어 브로커가 새로운 연결 요청을 처리하지 못하고 무한 대기에 빠질 수 있다는 점이다.


이러한 문제를 근본적으로 해결하는 방법은 응용 프로그램에서 트랜잭션 단위를 작게 만들어야 한다.

그러나 응용 프로그램 코드 변경이 쉽지 않을 경우 CUBRID에서 브로커 파라미터로 제공하는 SELECT_AUTO_COMMIT를 설정하여 응용에서 수행하는 SELECT문에 대해 오토 커밋되도록 설정할 수 있다. 이 경우 CAS가 내부적으로 SELECT 문 실행 후 트랜잭션을 커밋하게 되므로 동시에 연결 요청이 집중되는 상황에서도 유휴 CAS를 더 많이 확보할 수 있게 된다.

이러한 SELECT_AUTO_COMMIT 파라미터는 브로커 실행 중에도 변경 가능하다.


-----------------------------------------------------------------------------
1) broker 가 현재 실행 중일 때 변경 방법
- cubrid broker status -b 로 현재 적용하고자 하는 broker 이름을 확인합니다.
- 대상 브로커에 대해 broker_changer 를 실행하여 파라미터를 추가합니다.

    
 [cubrid@mdb.002 ~]$ cubrid broker status -b
@ cubrid broker status
  NAME           PID  PORT  AS  JQ      REQ  TPS  QPS  LONG-T  LONG-Q ERR-Q
===========================================================================
* query_editor 26832 30000   1   0        0    0    0    0/60.0    0/60.0    0
* broker1      26866 33000  29   0  1854013 1500655 8387645  127/60.0  139/60.0  208


[cubrid@mdb.002 ~]$ broker_changer broker1 SELECT_AUTO_COMMIT ON
OK


2) broker 가 현재 정지 중일 때 변경 방법
- $CUBRID/conf/cubrid_broker.conf 내 해당 브로커(broker1)에 SELECT_AUTO_COMMIT 파라미터를 추가한 후 저장합니다.
- cubrid broker restart broker1을 수행하면 새로 저장한 cubrid_broker.conf 파일이 적용됩니다.
 
[%BROKER1]
SERVICE                 =ON
BROKER_PORT             =33000
MIN_NUM_APPL_SERVER     =10
MAX_NUM_APPL_SERVER     =100
APPL_SERVER_SHM_ID      =33000
#LOG_DIR                 =log/broker/sql_log
LOG_DIR                 =/home1/cubrid/sql_log
ERROR_LOG_DIR           =log/broker/error_log
SQL_LOG                 =ON
TIME_TO_KILL            =120
SESSION_TIMEOUT         =300
KEEP_CONNECTION         =AUTO
SELECT_AUTO_COMMIT      =ON                    
 
[cubrid@mdb.002 ~]$ cubrid broker restart broker1

관련 매뉴얼:

http://www.cubrid.com/online_manual/cubrid_830/pm/pm_broker_one.htm

http://www.cubrid.com/online_manual/cubrid_830/api/api_cci_endtran.htm


  1. CUBRID Migration방법(by unloaddb & loaddb)

  2. 콘솔에서 마이그레이션 하기.

  3. CUBRID HA 환경에서 Apache-PHP 설정 가이드

  4. CUBRID isolation level & Dirty Read

  5. Windows 에 설치 된 JRE 설치 위치 확인 하기.

  6. CUBRID와 MyBATIS 빠르게 연동하기

  7. CUBRID Linux 부팅시 자동시작 서비스 설정 방법

  8. phpize를 이용한 PHP 모듈 연동 방법(CUBRID2008 R4.3 버전)

  9. Apache, PHP 설치 방법

  10. HA 환경 구성 시 데이터 복제 지연이 발생하는 경우 ECHO(7) port를 확인하자.

  11. VB에서 CUBRID ODBC/OLEDB 사용하는 방법 및 샘플코드.

  12. CUBRID와 Oracle의 Clob 타입 사용 방법 비교.

  13. CUBRID기반으로 XE 운영하기 – 설치가이드

  14. select .. for update 처리를 위한 Stored Procudure 등록 및 사용법

  15. LINUX CUBRID 4.0 매니저 설치방법

  16. CUBRID Ubuntu Launchpad Installation 방법

  17. 자주 발생하는 큐브리드(cubrid) 에러 메시지 정리

  18. [주의사항] CUBRID에서의 BLOB/CLOB 사용시 백업 및 복구에 대한 주의 점

  19. CUBRID 매니저 R3.1에서 웹호스팅 서버의 CUBRID R2.1 접속하는 방법 (큐브리드 매니저에서 다른 버전의 큐브리드 서버 접속 방법)

  20. 동시 접속자에 따른 파라미터 설정

Board Pagination Prev 1 2 3 4 5 6 7 8 9 Next
/ 9

Contact Cubrid

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