executionStats 및 allPlansExecution 상세도 모드에 대한 explain
응답에는 stats
쿼리가 쿼리 실행의 다양한 단계 에서 소비하는 시간 에 대한 정보가 포함된 필드가 포함되어 있습니다.
타이밍 분석 은 쿼리 실행 영역과 관련된 실행 통계를 설명합니다. 다음 필드에는 타이밍 분석이 표시됩니다.
| | |
---|
| | 쿼리의 이 영역에서 보낸 시간을 포함하여 하위 항목이 이 영역에서 작업을 수행하는 데 경과된 대략적인 벽시계 시간입니다. 이 값은 이 영역에서 작업을 수행하는 동안 경과한 대략적인 밀리초 숫자입니다. |
| | 이 영역 에 포함된 작업 호출의 횟수입니다. 값은 작업 이름과 해당 호출 횟수의 맵입니다. |
다음 쿼리 영역에 대한 통계를 사용할 수 있습니다.
| |
---|
| Lucene 쿼리 실행과 관련된 통계입니다. 이 영역에서 호출 횟수가 열거되는 두 가지 작업이 있습니다. | 점수 산정기는 문서를 반복하고 각 문서에 대한 점수를 생성합니다. createScorer 호출은 점수 산정을 담당하는 객체를 생성합니다. 이 작업과 관련된 시간은 실제로 문서에 점수를 매기는 데 소요된 시간이 아닙니다. 개수에는 scorerSupplier 호출 수가 포함됩니다. | | 가중치는 쿼리 및 IndexSearcher 과 관련된 상태를 저장합니다. 개수에는 createWeight 호출 수가 포함됩니다. |
이 영역에서 소요된 시간 은 쿼리의 구조와 관련이 있으며, 반복되고 점수가 매겨지는 결과 수에 기반하지 않습니다. 예를 들면 다음과 같습니다. "context" : { | "millisElapsed" : NumberDouble(4.934751), | "invocationCounts" : { | "createWeight" : NumberLong(1), | "createScorer" : NumberLong(10) | } | } |
|
| 결과 문서를 반복하고 일치시키는 것과 관련된 통계입니다. 이 통계는 어떤 문서가 다음 일치 항목인지 결정하는 데 걸리는 시간을 보여줍니다. 결과 일치에 소요되는 시간은 쿼리의 특성에 따라 크게 달라질 수 있습니다. 이 영역에서 호출 횟수가 열거되는 두 가지 작업이 있습니다. | 결과 집합의 다음 문서로 이동하도록 요청합니다. 여기에는 과거의 건너뛰기 또는 다음 일치 항목을 찾는 데 필요한 기타 작업을 식별하고 이동하는 등이 포함됩니다. 개수에는 nextDoc 및 advance 호출 수가 포함됩니다. | | 보다 철저한 일치를 수행합니다. 일부 쿼리는 문서가 먼저 '대략' 일치하는 2단계 프로세스로 실행되고, 첫 번째 대략적인 일치를 충족한 후에만 두 번째, 보다 철저한 단계에서 확인됩니다. refineRoughMatch 작업은 2단계 프로세스 중 두 번째 단계입니다. 개수에는 refineRoughMatch 호출 수가 포함됩니다. |
예를 들면 다음과 같습니다. "match" : { | "millisElapsed" : NumberDouble(4.901597), | "invocationCounts" : { | "nextDoc" : NumberLong(541), | "refineRoughMatch" : NumberLong(0) | } | } |
|
| 결과 세트의 문서 점수 산정과 관련된 통계입니다. 이 영역에서 호출 횟수가 열거되는 두 가지 작업이 있습니다. | 결과 세트의 각 문서에 점수를 매깁니다. 개수에는 score 호출 수가 포함됩니다. | | 점수가 지정된 값보다 낮은 문서를 무시합니다. 점수가 경쟁적이지 않은 일부 임계값보다 낮은 문서를 무시하여 쿼리가 수행되는 점수 산정 작업 수를 줄일 수 있었음을 나타냅니다. 개수에는 setMinCompetitiveScore 호출 수가 포함됩니다. |
예를 들면 다음과 같습니다. "score" : { | "millisElapsed" : NumberDouble(3.931312), | "invocationCounts" : { | "score" : NumberLong(536), | "setMinCompetitiveScore" : NumberLong(0) | } | } |
|