추천 인덱스 가져오기
Performance Advisor 의 결정에 따라 추천 인덱스를 검색합니다.
기본 URL: https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0
Resource
GET /groups/{PROJECT-ID}/hosts/{HOST-ID}/performanceAdvisor/suggestedIndexes
요청 경로 매개변수
Parameter | 유형 | 설명 |
---|---|---|
프로젝트 ID | 문자열 | (필수 사항) 이 MongoDB 프로세스를 소유한 프로젝트의 고유 식별자입니다. |
HOST-ID | 문자열 | (필수 사항) MongoDB 프로세스용 호스트의 고유 식별자입니다. |
요청 쿼리 매개변수
모든 매개변수는 선택 사항입니다.
pretty | 부울 | false | ||
envelope | 부울 | 응답을 엔벨로프에 래핑할지 여부를 나타냅니다. | false | |
이후 | long | 에포크 이후 밀리초 단위로 표시된 추천 인덱스를 검색할 시점입니다. . | 이전 24 시간 | |
기간 | long | 클러스터의 관리형 네임스페이스 중에서 추천 인덱스를 찾는 데 걸리는 시간(밀리초)입니다. | 현재 시간까지 | |
namespaces | 문자열 | 추천 인덱스를 조회 할 네임스페이스입니다. 네임스페이스 는 여러 네임스페이스를 지정하려면 앰퍼샌드( 예를 들면 다음과 같습니다.
| 모두 | |
nIndexes | long | 추천할 인덱스의 최대 개수입니다. | 무제한 | |
nExamples | long | 제안된 인덱스에 의해 개선될 제공할 쿼리의 최대 예시 수입니다. | 5 |
요청 본문 매개변수
이 엔드포인트는 HTTP 요청 본문 매개변수를 사용하지 않습니다.
응답
이름 | 유형 | 설명 |
---|---|---|
shapes | 문서 배열 | 추천 인덱스가 제공하는 쿼리 형태 에 대한 정보가 포함된 문서입니다. |
shapes[n].avgMs | 숫자 | 이 형태와 일치하는 검사된 쿼리의 평균 지속 시간(밀리초)입니다. |
shapes[n].count | 숫자 | 이 형태와 일치하는 검사된 쿼리의 수입니다. |
shapes[n].id | objectId | 이 도형의 고유 ID입니다. API 요청 기간 동안만 존재합니다. |
shapes[n].inefficiencyScore | 숫자 | 쿼리에서 반환된 모든 문서에 대해 읽은 평균 문서 수입니다. 자세한 내용 은 쿼리 비효율성 점수 이해를 참조하세요. |
shapes[n].namespace | 문자열 | 이 형태의 쿼리로 검색된 네임스페이스입니다. |
shapes[n].operations | 문서 배열 | 개별 쿼리에 대한 특정 정보 및 로그 줄이 포함된 문서입니다. |
shapes[n].operations[n].predicates | 문서 배열 | 쿼리에 사용되는 Atlas Search 기준이 포함된 문서입니다. 사용자에게 프로젝트 데이터 액세스 읽기 전용 권한 이상이 없는 한 이러한 조건자에서 키-값 쌍의 값이 수정됩니다. |
shapes[n].operations[n].raw | 문자열 | 쿼리에 의해 생성된 원시 로그 줄입니다. |
shapes[n].operations[n].stats | 문서 | 통계를 쿼리합니다. |
shapes[n].operations[n].stats.ms | 숫자 | 쿼리의 지속 시간(밀리초)입니다. |
shapes[n].operations[n].stats.nReturned | 숫자 | 쿼리에서 반환된 결과 수입니다. |
shapes[n].stats.avgObjSize | 숫자 | 평균 객체 크기. |
shapes[n].stats.nScanned | 숫자 | 쿼리에서 읽은 문서 수입니다. |
shapes[n].stats.ts | 숫자 | 에포크 이후의 쿼리 타임스탬프(초)입니다. |
suggestedIndexes | 문서 배열 | Performance Advisor 에서 제안한 인덱스에 대한 정보가 포함된 문서입니다. |
suggestedIndexes[n].id | objectId | 이 추천 인덱스의 고유 ID입니다. |
suggestedIndexes[n].impact | objectId 배열 | 이 추천 인덱스와 관련된 이 응답의 쿼리 형태에 해당하는 고유 식별자 목록입니다. 이 필드 는 Performance Advisor 사용자 인터페이스의 Impact 에 해당하지 않습니다. |
suggestedIndexes[n].index | 문서 배열 | 각 배열 요소는 인덱스의 키와 해당 정렬 순서(오름차순 또는 내림차순)를 지정하는 문서입니다.
키가 여러 개인 인덱스의 키는 인덱스 에 표시되는 순서와 동일한 순서로 표시됩니다. |
suggestedIndexes[n].index.<fieldname> | 문자열 | 인덱싱할 특정 필드 입니다. |
suggestedIndexes[n].namespace | 문자열 | 추천 인덱스 의 네임스페이스입니다. |
suggestedIndexes[n].weight | 숫자 | 제안된 인덱스가 제공할 수 있는 예상 성능 향상입니다. Performance Advisor 사용자 인터페이스의 영향 에 해당합니다. |
요청 예시
curl --user '{PUBLIC-KEY}:{PRIVATE-KEY}' --digest \ --header 'Accept: application/json' \ --include \ --request GET 'https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0/groups/{PROJECT-ID}/hosts/{HOST-ID}/performanceAdvisor/suggestedIndexes?pretty=true'
응답 예시
응답 헤더
401 Unauthorized Content-Type: application/json;charset=ISO-8859-1 Date: {dateInUnixFormat} WWW-Authenticate: Digest realm="MMS Public API", domain="", nonce="{nonce}", algorithm=MD5, op="auth", stale=false Content-Length: {requestLengthInBytes} Connection: keep-alive
200 OK Vary: Accept-Encoding Content-Type: application/json Strict-Transport-Security: max-age=300 Date: {dateInUnixFormat} Connection: keep-alive Content-Length: {requestLengthInBytes} X-MongoDB-Service-Version: gitHash={gitHash}; versionString={ApplicationVersion}
응답 본문
{ "shapes" : [ { "avgMs" : 42, "count" : 2, "id" : "5b74689a80eef53f3388897e", "inefficiencyScore" : 50000, "namespace" : "test.users", "operations" : [ { "predicates" : [{ "find" : { "emails" : "la@sa.kp" } }], "raw" : "2018-08-15T17:14:11.115+0000 I COMMAND [conn4576] command test.users appName: \"MongoDB Shell\" command: find { find: \"users\", filter: { emails: \"la@sa.kp\" }, lsid: { id: UUID(\"1a4e71d3-9b67-4e9c-b078-9fdf3fae9091\") }, $clusterTime: { clusterTime: Timestamp(1534353241, 1), signature: { hash: BinData(0, AB91938B7CF7BC87994A2909A98D87F29101EFA0), keyId: 6589681559618453505 } }, $db: \"test\" } planSummary: COLLSCAN keysExamined:0 docsExamined:50000 cursorExhausted:1 numYields:391 nreturned:1 reslen:339 locks:{ Global: { acquireCount: { r: 784 } }, Database: { acquireCount: { r: 392 } }, Collection: { acquireCount: { r: 392 } } } protocol:op_msg 34ms", "stats" : { "ms" : 34, "nReturned" : 1, "nScanned" : 50000, "ts" : 1534353251147 } }, { "predicates" : [{ "find" : { "emails" : "tocde@fijoow.to" } }], "raw" : "2018-08-15T17:14:18.665+0000 I COMMAND [conn4576] command test.users appName: \"MongoDB Shell\" command: find { find: \"users\", filter: { emails: \"tocde@fijoow.to\" }, lsid: { id: UUID(\"1a4e71d3-9b67-4e9c-b078-9fdf3fae9091\") }, $clusterTime: { clusterTime: Timestamp(1534353241, 1), signature: { hash: BinData(0, AB91938B7CF7BC87994A2909A98D87F29101EFA0), keyId: 6589681559618453505 } }, $db: \"test\" } planSummary: COLLSCAN keysExamined:0 docsExamined:50000 cursorExhausted:1 numYields:390 nreturned:1 reslen:342 locks:{ Global: { acquireCount: { r: 782 } }, Database: { acquireCount: { r: 391 } }, Collection: { acquireCount: { r: 391 } } } protocol:op_msg 36ms", "stats" : { "ms" : 36, "nReturned" : 1, "nScanned" : 50000, "ts" : 1534353258697 } } ] } ], "suggestedIndexes" : [ { "id" : "5b74689a80eef53f3388897f", "impact" : [ "5b74689a80eef53f3388897e" ], "index" : [ { "emails" : 1 } ], "namespace" : "test.users", "weight" : 37.220480901815623 }, { "id" : "5b74689a80eef53f33888980", "impact" : [ "5b74689a80eef53f3388897d" ], "index" : [ { "email" : 1 } ], "namespace" : "test.inventory", "weight" : 19.037578309966488 } ] }