* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
Windows Server 2008 | |
CUBRID 9.X | |
[도움말]-[버전정보] 확인 | |
java, SpringFramework3.1, Ibatis2.3 |
* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 | 재현 가능한 Source와 SQL |
관련 테이블(인덱스, 키정보 포함) 정보 | CUBRID 홈 디렉토리 아래 log 디렉토리 압축 |
-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------
개발 사이트의 부하테스트중 DB에 일정 커넥션 이상이 발생하면 드라이버 내에서 오류를 던집니다.
에러코드가 -669로 나오는데 설명을 좀 부탁드립니다. 에러 코드에 대한 설명을 찾질 못하겠네요.
그리고 오류가 아래와 같이 UConnection.connectDB에서 발생되는걸 볼 수 있는데,
at cubrid.jdbc.jci.UConnection.connectDB(UConnection.java:1659)
at cubrid.jdbc.jci.UConnection.reconnectWorker(UConnection.java:1616)
at cubrid.jdbc.jci.UConnection.reconnect(UConnection.java:1705)
at cubrid.jdbc.jci.UConnection.checkReconnect(UConnection.java:1866)
at cubrid.jdbc.jci.UConnection.tryConnect(UConnection.java:285)
at cubrid.jdbc.driver.CUBRIDDriver.connect(CUBRIDDriver.java:230)
테스트 시작할때는 정상적으로 DB를 연결하다 동시접속 Thread가 10건정도 이상 올라가면서 발생하는듯 합니다.
여기저기 찾아보니 CUBRID의 max_client 설정과 관련있는듯 보이는데, CUBRID가 지원 가능한 동시접속 커넥션의
최대치가 얼마만큼인지도 궁금하네요.
정리하자면...
1. 에러코드 -669의 설명
2. CUBRID가 지원가능한 최대 동시접속 커넥션 수 및 설정방법
답변 부탁드립니다. 수고하세요.
1. -669는 최대 클라이언트 수가 초과되어 서버가 연결을 거부하여 발생하는 것으로 $CUBRID/conf/cubrid.conf의 max_clients를 늘려주시면 됩니다. 사용중인 broker의 MAX_NUM_APPL_SERVER의 개수가 max_clients보다 크게 설정되어 있는 경우 해당 오류가 발생합니다.
2. max_clients의 최대 값은 CUBRID 9.1기준으로 10000이고 기본값은 100입니다.
자세한 사항은 매뉴얼>관리자 안내서>시스템설정>데이터베이스 서버설정>접속관련 파라미터>max_clients 와
매뉴얼>관리자 안내서>시스템설정>브로커설정>브로커별 파라미터>MAX_NUM_APPL_SERVER를 참고하시기 바랍니다.