Background Image
운영관리
2015.12.29 08:59

cubrid plandump ( plan cache정보확인)

조회 수 4300 추천 수 0 댓글 0
?

단축키

Prev이전 문서

Next다음 문서

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

CUBRID 가 제공하는 기능에서 plandump]라는 유틸리티가 있다.

 

매뉴얼을 (Ver. CUBRID 9.3 기준) 보면 아래와 같다.

 

 

질의 수행 계획 캐시 확인

cubrid plandump 유틸리티를 사용해서 서버에 저장(캐시)되어 있는 질의 수행 계획들의 정보를 출력할 수 있다.

cubrid plandump [options] database_name
  • cubrid: CUBRID 서비스 및 데이터베이스 관리를 위한 통합 유틸리티이다.
  • plandump: 대상 데이터베이스에 대하여 현재 캐시에 저장되어 있는 질의 수행 계획을 출력하는 명령이다.
  • database_name: 데이터베이스 서버 캐시로부터 질의 수행 계획을 확인 또는 제거하고자 하는 데이터베이스 이름이다

옵션 없이 사용하면 캐시에 저장된 질의 수행 계획을 확인한다.

cubrid plandump testdb

다음은 cubrid plandump에 대한 [options]이다.

-d, --drop

캐시에 저장된 질의 수행 계획을 제거한다.

cubrid plandump -d testdb
-o, --output-file=FILE

캐시에 저장된 질의 수행 계획 결과 파일에 저장

cubrid plandump -o output.txt testdb

 (출처: http://cubrid.org/manual/ko/9.3.0/admin/admin_utils.html#plandump )

 

 

서버에 저장(캐시)되어 있는 질의 수행 계획들의 정보를 출력한다고 하는데..

어떻게 동작되는지, 활용방법은 무엇인지 간단히 정리한다.

 

 

 

[ 신규 DB생성 후의 plandump-화면1 ]

111.PNG

 

 

[몇 가지 질의문 수행 후의 plandump -화면2]

222.PNG

 

 

 [화면2]에서 보다시파, CUBRID 서버에 캐시되어 있던 질의 수행 계획들을 출력하여 보여준다.

항목에 대한 설명은 아래와 같다.

 

 항목

설명 

 MAX

 plan cache에 저장할 수 있는 최대 항목 수

 NUM

 현재 저장되어 있는 항목 수

 LOOKUP

 LOOKUP한 횟수

 HIT

 HIT한 횟수

 MISS

 실패한 횟수. 이는 대체로 NUM과 비슷함.

 FULL

 FULL이 났던 횟수

 

 

CUBRID는 기본적으로 Plan cache를 사용한다.

질의문이 주어지면 Clientxasl stream을 생성하여 server로 전달하게 된다. Server는 전달받은 xasl stream xasl tree로 변환한 다음에 xasl tree를 수행하여 질의 결과를 client로 전달한다. 이후에 xasl tree xasl stream을 버리게 된다. Plan cacheServer xasl stream을 버리지 않고 재사용하는 기능이다.

 

Plan cache 기능을 켜면,

질의 문은 prepare/execute의 두 단계로 수행된다.

1.   Client는 질의 문 string server로 전달하여 server에 저장된 xasl stream ID를 얻어온다.(이때 저장되어 있지 않으면 xasl stream을 생성, 전달하여 server에 저장하도록 한 이후에 xasl stream ID를 얻어온다. Xasl stream ID XASL_ID라고 한다. XASL_ID를 얻는 것을 prepare 단계라 한다.

2.   Client XASL_ID server로 전달하여 질의문의 결과집합을 요청한다. Server는 해당 xasl stream xasl tree로 변환하여 이를 수행하여 질의 결과를 client로 전달하고 xasl tree를 버린다. 이를 execute 단계라 한다.

 

장점으로,

▶▶ client에서 xasl 생성 비용이 제거된다. (장점으로 인한 성능향상이 큼)

단점으로,

▶▶ client에서 XASL_ID를 얻어오기 위해서 별도의 통신 비용, server cache 탐색 비용이 발생한다. Cache full 발생시에 victimize 비용이 발생한다.(prepare 단계)

▶▶ client에서 XASL_ID를 주면 해당 xasl stream이 저장되어 있는 파일을 읽는 비용이 발생한다.(최악의 경우에 Disk I/O 발생)

 

 

CUBRID에서 기본적으로 Plan cache기능을 제공하고 있지만, plandump 유틸리티를 사용하여 정상적으로 동작하고 있는지 확인이 가능하다.

 

 

 

 

 


List of Articles
번호 분류 제목 글쓴이 날짜 조회 수
77 운영관리 CUBRID 브로커와 시스템 메모리 정만영 2019.03.12 2365
76 운영관리 윈도우 OS에서 java sp 사용 시 Java VM is not running 해결 방법 정훈 2017.09.04 2227
75 운영관리 CUBRID 8.2.2 ~ 8.4.x 버전에서 'ALTER SERIAL ... CACHE <cached_num> / NOCACHE' ERROR 해결 방법 주영진 2017.03.08 2161
74 운영관리 큐브리드 포트 정리 정만영 2016.07.05 6090
73 운영관리 큐브리드 마스터 소켓 디렉토리 변경방법 정만영 2016.07.05 4218
72 운영관리 Invalid XASL tree node content 에러 손승일 2016.04.26 4477
71 운영관리 산술 연산 결과를 피젯수 또는 젯수의 자리 수에 맞춰 보자. 성진 2016.03.01 4815
70 운영관리 'Has been interrupted.' CUBRIDException 발생 주현 2016.01.07 6585
69 운영관리 CUBRID BACKUP (linux, window) file 박동윤 2015.12.30 6244
68 운영관리 브로커와 DB 간 연결 테스트 박동윤 2015.12.29 4934
» 운영관리 cubrid plandump ( plan cache정보확인) file 주현 2015.12.29 4300
66 운영관리 시스템 부하가 많지 않음에도 불구하고 질의 수행이 느린 경우 THP 기능 설정 확인 및 해제 진우진 2015.12.16 7525
65 운영관리 큐브리드 서비스 재구동 시 cubrid manager server start: fail 오류 해결 방법 진우진 2015.12.16 7730
64 운영관리 브로커 동적 파라미터 변경 방법 정만영 2015.08.13 7566
63 운영관리 CUBRID HA 구성 후 구동중인 slave/replica node에서 write 하기 정만영 2015.07.15 9043
62 운영관리 windows 환경에서 압축파일로 CUBRID 설치시 환경변수 쉽게 설정하기 김승훈 2015.07.02 6995
61 운영관리 디비와 테이블 문자셋이 다른 경우 처리 방법 이용미 2015.06.03 15798
60 운영관리 CUBRID HA와 Primary key 제약조건 정만영 2015.04.21 11347
59 운영관리 테이블 사용량 확인방법 정만영 2015.02.03 11448
58 운영관리 9.2 버전에서 복제 재구축(ha_make_slavedb.sh) 스크립트를 사용하려면 수정해야 할 부분 brightest 2013.10.24 12231
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