N1QL에 대한 프로파일링 및 모니터링은 Couchbase Server 5.0 릴리즈의 큰 부분입니다(지금 다운로드 가능).
참고: 이 게시물은 카우치베이스 서버 5.0 프리뷰의 프로파일링 및 모니터링(업데이트).
쿼리 워크벤치
다시 한 번 다음 사항에 중점을 두겠습니다. 쿼리 워크벤치 를 클릭하세요.
참고로 N1QL 쿼리를 실행하는 다른 옵션도 있습니다:
개인적으로 저는 쿼리 워크벤치가 프로파일링을 보다 시각적으로 보여주기 때문에 가장 사용하기 쉽다고 생각합니다.
복잡한 쿼리 프로파일링
이제 여행 샘플
데이터를 다시 가져옵니다. 여행 샘플 버킷을 사용하고 있지만 인덱스 중 하나를 제거했습니다(DROP INDEX 여행 샘플
.def_sourceairport
;).
그런 다음 N1QL 쿼리를 실행하여 두 도시 사이의 경로를 찾습니다. 이번에는 오하이오주 콜럼버스와 콜로라도주 덴버를 사용하겠습니다.
1 2 3 4 5 6 7 8 |
선택 r.id, a.이름, s.비행, s.UTC, r.소스공항, r.목적지공항, r.장비 FROM `여행-샘플` r UNNEST r.일정 s JOIN `여행-샘플` a 켜기 키 r.airlineid 어디 r.소스공항 = 'CMH' AND r.목적지공항 = 'DEN' AND s.일 = 0 주문 BY a.이름; |
이 쿼리를 실행하는 데 (단일 노드 로컬 컴퓨터에서) 예상대로 이번에는 약 8초가 걸렸는데, 이는 너무 느린 속도입니다.
프로파일링의 시각적 분석
문제가 무엇인지 확인하기 위해 계획을 살펴보겠습니다(스크린샷이 블로그 게시물에 적합하도록 두 줄로 나누었습니다).
따라서 이전과 마찬가지로 쿼리 계획에서 가장 비용이 많이 드는 부분은 필터와 조인입니다. 이전에는 원시 숫자나 백분율을 보면 알 수 있었습니다. 하지만 이제는 색이라는 보다 시각적인 방법으로 알 수 있습니다. 백분율과 정의된 임계값에 따라 계획의 일부가 회색에서 황갈색, 금색으로 바뀝니다.
현재 임계값은 작업에 소요된 총 쿼리 시간의 비율을 기준으로 합니다:
- 회색: 총 시간 1% 미만
- 황갈색/일부 금색: 1% - 5%
- 황갈색/더 많은 금색: 51T3PT - 201T3PT
- 모든 골드: 20%
이 시각적 프로파일링의 목적은 비용이 많이 드는 작업을 빠르게 파악하기 위한 것입니다. 그런 다음 정확한 수치를 알고 싶다면 다이어그램이나 심지어는 META().plan
정보).
인덱스 생성 부분은 다시 설명하지 않겠습니다. 지난 블로그 게시물에서 설명한 것과 동일합니다(데모용으로 제거한 인덱스를 다시 생성하는 것뿐입니다).
피드백을 보내 주셔서 감사합니다!
이러한 새로운 기능을 사용해보고 싶으신가요? Couchbase Server 5.0 다운로드 오늘!
올해 초에 출시된 개발자 프리뷰 버전에 대한 여러분의 피드백은 개선에 큰 도움이 되었습니다. 감사합니다!
질문이 있으시면 다음 중 가장 좋은 방법으로 저에게 연락해 주세요. 트위터 @mgroves 또는 이메일을 보내주세요. matthew.groves@couchbase.com.