시작하기edit

Kibana에 install X-Pack하면 Search Profiler가 자동으로 활성화됩니다. DevTools 탭(Kibana)에 있습니다.

프로파일링 쿼리를 시작하려면 다음을 수행합니다.

  1. 웹 브라우저에서 Kibana를 열고 로그인합니다. 로컬에서 Kibana를 실행하는 경우 `http://localhost:5601/`로 이동합니다.
  2. 사이드 탐색 메뉴에서 DevTools 를 클릭하여 Search Profiler를 엽니다. DevTools에 처음 액세스할 경우 콘솔이 기본 열기 툴입니다.

    Opening DevTools

    맨 위의 탐색 표시줄에서 두 번째 항목인 *Search Profiler*를 클릭합니다.

    Opening the Search Profiler
  3. 그러면 Search Profiler 인터페이스가 열립니다.

    Search Profiler Interface
  4. 기본 match_all 쿼리를 프로파일링할 쿼리로 대체하고 *프로파일*을 클릭합니다.

    Profiling the match_all query

    Search Profiler가 검색된 색인의 이름, 각 색인의 샤드, 쿼리에 소요된 시간을 표시합니다. 다음 예에서는 match_all 쿼리의 프로파일링 결과를 표시합니다. 3개의 색인, .monitoring-kibana-2-2016.11.30, .monitoring-data-2, `test`를 검색했습니다.

    test 색인에 대한 정보를 자세히 살펴보면 쿼리 실행에 0.132ms가 걸렸음을 누적 시간(Cumulative Time)에서 확인할 수 있습니다. 색인의 5개 샤드(DWZD0iosQNeJMTvb4q1JDw 0 ~ 5) 중 샤드 3이 가장 오래 걸렸고(0.053ms) 그 다음은 샤드 2(0.038ms)입니다. 샤드는 그 소요 시간을 기준으로 내림차순으로 정렬됩니다.

    Profile details for the test index

    누적 시간 메트릭은 개별 샤드 시간의 합계입니다. 쿼리가 반환될 때까지 실제로 걸린 시간(실행 시간 - wall clock time)만 의미하지는 않습니다. 샤드가 여러 노드에서 동시에 처리될 수도 있으므로 실행 시간이 누적 시간보다 훨씬 짧을 수도 있습니다. 그러나 샤드가 동일한 노드에 위치하고 연속으로 실행될 경우 실행 시간이 누적 시간과 더 가까워집니다.

    누적 시간 메트릭은 색인 및 샤드의 성능 비교에 유용하지만 항상 실제 쿼리 소요 시간을 나타내지는 않습니다.

  5. 샤드에 대한 더 자세한 프로파일링 정보를 표시하려면 확장 단추를 클릭합니다. 그러면 샤드에서 실행된 쿼리 구성 요소에 대한 세부 정보가 표시됩니다.

    이 예에서는 샤드에서 단일 `"MatchAllDocsQuery"`가 실행되었습니다. 유일하게 실행된 쿼리이므로 시간의 100%가 소요되었습니다. 행 위에 마우스를 올려 놓으면 Search Profiler는 쿼리 구성 요소에 대한 추가 정보를 표시합니다.

    Profile details for the first shard

    이 패널은 하위 레벨 Lucene 메서드의 타이밍 분류를 보여줍니다. 자세한 내용은 Timing Breakdown에 대한 문서를 참조하십시오.