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. [10.2 path] - 생성된 view구문을 'show create view' 수행 시 정상적으로 출력되지 않던 이슈 patch

    Date2020.11.09 Category기타 By큐브리드_김주현 Views856
    Read More
  2. ERwin을 이용한 CUBRID 포워드 엔지니어링

    Date2020.07.14 Category기타 By민순 Views2269
    Read More
  3. ERwin을 이용한 CUBRID 리버스 엔지니어링

    Date2020.07.13 Category기타 By민순 Views3413
    Read More
  4. 큐브리드10.1 에서 윤초 지원 옵션 사용하기

    Date2017.09.13 Category기타 By최광일 Views1391
    Read More
  5. 따라하면 쉬운 compactdb 사용법

    Date2017.07.01 Category기타 By허서진 Views2499
    Read More
  6. PyCharm을 이용한 CUBRID, Django 연동 가이드

    Date2016.04.11 Category기타 By진우진 Views8131
    Read More
  7. CSQL 인터프리터 사용방법

    Date2016.03.03 Category기타 By정만영 Views16516
    Read More
  8. 데이터 확인에 정규표현식을 사용 해 보자.

    Date2016.03.01 Category기타 By성진 Views12688
    Read More
  9. CUBRID Migration Toolkit을 이용한 단계별 마이그레이션 진행 방법

    Date2015.12.15 Category기타 By진우진 Views9495
    Read More
  10. 알고 보면 쉬운 cubrid lockdb 유틸리티

    Date2015.12.08 Category기타 By김승훈 Views12018
    Read More
  11. CUBRID Migration방법(by unloaddb & loaddb)

    Date2015.07.01 Category기타 By주현 Views21833
    Read More
  12. 콘솔에서 마이그레이션 하기.

    Date2015.06.19 Category기타 By권호일 Views13428
    Read More
  13. CUBRID isolation level & Dirty Read

    Date2015.05.29 Category기타 By정만영 Views11310
    Read More
  14. HA 환경 구성 시 데이터 복제 지연이 발생하는 경우 ECHO(7) port를 확인하자.

    Date2012.11.29 Category기타 By손승일 Views26440
    Read More
  15. select .. for update 처리를 위한 Stored Procudure 등록 및 사용법

    Date2011.12.10 Category기타 By남재우 Views24870
    Read More
  16. 자주 발생하는 큐브리드(cubrid) 에러 메시지 정리

    Date2011.07.14 Category기타 Byadmin Views81364
    Read More
  17. [주의사항] CUBRID에서의 BLOB/CLOB 사용시 백업 및 복구에 대한 주의 점

    Date2011.07.14 Category기타 Byadmin Views52553
    Read More
  18. CUBRID 매니저 R3.1에서 웹호스팅 서버의 CUBRID R2.1 접속하는 방법 (큐브리드 매니저에서 다른 버전의 큐브리드 서버 접속 방법)

    Date2011.07.14 Category기타 Byadmin Views31507
    Read More
  19. 동시 접속자에 따른 파라미터 설정

    Date2011.07.14 Category기타 Byadmin Views25680
    Read More
  20. CUBRID 2008 R4.0 GA 버전의 주요 기능만 요약한 PPT 문서

    Date2011.07.14 Category기타 Byadmin Views15460
    Read More
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