Obter índices sugeridos
Nesta página
Recupera índices sugeridos conforme determinado pelo Performance Advisor.
URL base: https://{OPSMANAGER-HOST}:{PORT}/api/public/v1.0
Resource
GET /groups/{PROJECT-ID}/hosts/{HOST-ID}/performanceAdvisor/suggestedIndexes
Parâmetros do caminho da solicitação
Parâmetro | Tipo | Descrição |
---|---|---|
ID do projeto | string | (Obrigatório.) Identificador único do projeto que possui este processo MongoDB. |
ID DE HOST | string | (Obrigatório.) Identificador único do host para o processo MongoDB. |
Solicitar parâmetros de query
Todos os parâmetros são opcionais.
pretty | booleano | Indica se o corpo da resposta deve estar em um prettyprint formato. | false | |
envelope | booleano | Indica se deseja ou não envolver a resposta em um envelope. | false | |
desde | long | Ponto no tempo a partir do qual recuperar índices sugeridos, determinados em milissegundos desde a época. | 24 horas anteriores | |
duration | long | Duração do tempo em milissegundos durante a qual encontrar índices sugeridos entre os namespaces gerenciados no cluster. | até o momento | |
namespaces | string | Namespaces dos quais recuperar índices sugeridos. Um namespace consiste no banco de banco de dados e recurso de coleta separados por um Para especificar vários namespaces, passe o parâmetro várias vezes usando um sinal tipográfico ( Por exemplo:
| todos | |
nIndexes | long | Número máximo de índices a serem sugeridos. | ilimitado | |
nExamples | long | Número máximo de exemplos de queries a serem fornecidas que serão melhoradas por um índice sugerido. | 5 |
Parâmetros do corpo da solicitação
Este endpoint não usa parâmetros do corpo da solicitação HTTP.
Resposta
Nome | Tipo | Descrição |
---|---|---|
shapes | matriz de documentos | Documentos com informações sobre as formas de query que são atendidas pelos índices sugeridos. |
shapes[n].avgMs | número | Duração média em milissegundos para as queries examinadas que correspondem a esta forma. |
shapes[n].count | número | Número de queries examinadas que correspondem a esta forma. |
shapes[n].id | ObjectId | ID única para esta forma. Existe apenas durante a solicitação de API. |
shapes[n].inefficiencyScore | número | Número médio de documentos lidos para cada documento retornado pela query. Para obter mais informações, consulte Noções básicas sobre a pontuação de ineficiência da query. |
shapes[n].namespace | string | Namespace pesquisado pelas queries nesta forma. |
shapes[n].operations | matriz de documentos | Documentos com informações específicas e linhas de registro para queries individuais. |
shapes[n].operations[n].predicates | matriz de documentos | Documentos contendo os critérios do Atlas Search usados pela query. Os valores em pares de chave-valor serão suprimidos nesses predicados, a menos que o usuário tenha permissões de somente leitura de acesso a dados do projeto ou superiores. |
shapes[n].operations[n].raw | string | Linha de log bruta produzida pela query. |
shapes[n].operations[n].stats | documento | Estatísticas de query. |
shapes[n].operations[n].stats.ms | número | Duração em milissegundos da query. |
shapes[n].operations[n].stats.nReturned | número | Número de resultados retornados pela query. |
shapes[n].stats.nScanned | número | Número de documentos lidos pela query. |
shapes[n].stats.ts | número | Carimbo de data/hora da query, em segundos desde a época. |
suggestedIndexes | matriz de documentos | Documentos com informações sobre os índices sugeridos pelo Performance Advisor. |
suggestedIndexes[n].id | ObjectId | ID única para este índice sugerido. |
suggestedIndexes[n].impact | array de objectIds | Lista de identificadores únicos que correspondem às formas de query nesta resposta que pertencem a este índice sugerido. Esse campo não corresponde a Impact na interface do usuário do Performance Advisor . |
suggestedIndexes[n].index | matriz de documentos | Cada elemento de array é um documento que especifica uma chave no índice e sua ordem de classificação, crescente ou decrescente.
As chaves em índices com múltiplas chaves aparecem na mesma ordem em que aparecem no índice. |
suggestedIndexes[n].index.<fieldname> | string | campo específico a ser indexado. |
suggestedIndexes[n].namespace | string | Namespace do índice sugerido. |
suggestedIndexes[n].weight | número | Melhoria de desempenho percentual estimada que o índice sugerido forneceria. Corresponde a Impacto na interface de usuário do Performance Advisor . |
Exemplo de solicitação
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'
Exemplo de resposta
Cabeçalho de resposta
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}
Corpo de resposta
{ "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 } ] }