* 질문 등록 시 다음의 내용을 꼭 기입하여 주세요.
Linux 64bit | |
[cubrid_rel] 9.3.9 | |
[도움말]-[버전정보] 확인 | |
java, php, odbc 등 입력 |
* CUBRID 응용 오류, SQL 오류 또는 SQL 튜닝 관련된 문의는 반드시 다음의 내용을 추가해 주세요. 비밀글이나 비밀 댓글도 가능합니다.
* 저희가 상황을 이해하고, 재현이 가능해야 알 수 있는 문제들이 많습니다. 가능한 정보/정황들을 부탁합니다.
에러 내용 및 재현 방법 | 재현 가능한 Source와 SQL |
관련 테이블(인덱스, 키정보 포함) 정보 | CUBRID 홈 디렉토리 아래 log 디렉토리 압축 |
-------------- 아래에 질문 사항을 기입해 주세요. ------------------------------------------------------------------------ cubrid hb statis 확인시 첨부 파일처럼 확인 됩니다. 그런데 top이나 netstat -na|grep EST|more 확인하면 dbms-01번이 사용량이 많고 실제 서비스가 dbms-01에서 하는 것처럼 보이는데 서비스가 어느 서버에서 확인이 되는지 어떻게 확인해야 하나요?
1. 서비스 중인 호스트 확인
보내주신 이미지를 확인 해보면
$ cubrid hb status 결과의 Node dbms-02 호스트가 현재 Master(active)로 서비스 처리가 가능한 상태 입니다.
Slave(stand-by)의 경우에는 별도의 설정을 통해 SELECT 질의만 수행 가능합니다.
$ cubrid tranlist 명령어를 활용하여 Master(active)서버에서 수행 중인 트랜잭션을 확인 할 수 있습니다.
(https://www.cubrid.org/manual/en/10.2/admin/admin_utils.html#tranlist)
2. netstat -na |grep EST |more 확인 결과 dbms-01 호스트 사용량이 많은 이유
cubrid 데이터 베이스에 연결 요청 시 중간에 broker 서버가 connection을 관리 합니다.
현재 1번 서버의 브로커 서버가 요청을 받아 Master(active)서버인 dbms-02로 질의를 처리하고 있는 것으로 생각 하시면 됩니다.
- 페일 오버가 발생한 후 특이점이 없다면 페일 백을 수행 해주어 불 필요하게 브로커 서버가 디비 서버로 네트워크를 통하지 않고 처리할 수 있도록 해주는 것이 성능상 좋습니다.