Join us at MongoDB.local London on 7 May to unlock new possibilities for your data. Use WEB50 to save 50%.
Register now >
Docs Menu
Docs Home
/ /
Optimización de consultas

Evaluar el rendimiento de las operaciones actuales

Las siguientes secciones describen técnicas para evaluar el rendimiento operativo.

MongoDB proporciona un Generador de perfiles de base de datos que muestra las características de rendimiento de cada operación en la base de datos. Úselo para localizar consultas u operaciones de escritura lentas. Puede usar esta información, por ejemplo, para determinar qué índices crear.

Las entradas del perfilador y los mensajes de registro de diagnóstico (es decir, mensajes de registro de MongoD/mongos) para operaciones de lectura/escritura incluyen:

  • queryHash para ayudar a identificar consultas lentas con la misma forma del query.

  • planCacheKey para proporcionar más perspectiva sobre la caché del plan del query para queries lentos.

Los miembros secundarios de un set de réplicas ahora registran entradas de oplog que tardan más que el umbral de una operación lenta en aplicarse. Estos mensajes lentos del oplog:

  • Se registran para los secundarios en el diagnostic log.

  • Se documentan en el registro bajo el componente REPL con el texto applied op: <oplog entry> took <num>ms.

  • No depende de los niveles de registro (ya sea a nivel del sistema o del componente)

  • No depende del nivel de perfil.

  • Se ven afectados por slowOpSampleRate.

El perfilador no captura entradas lentas del oplog.

Para obtener más información, consulte Generador de perfiles de base de datos.

El método db.currentOp() informa sobre las operaciones actuales que se ejecutan en una instancia de mongod.

Los métodos cursor.explain() y db.collection.explain() devuelven información sobre la ejecución de una query, como el índice que MongoDB seleccionó para cumplir con la query y las estadísticas de ejecución. Puedes ejecutar los métodos en modo queryPlanner, en modo executionStats o en modo allPlansExecution para controlar la cantidad de información devuelta.

Ejemplo

Para usar cursor.explain() en una query de documentos que coincidan con la expresión { a: 1 }, en la colección denominada records, utilizá una operación similar a la siguiente en mongosh:

db.records.find( { a: 1 } ).explain("executionStats")

A partir de MongoDB 4.2, la salida de explicación incluye:

Para obtener más información, consulta Explicación de resultados, cursor.explain(), db.collection.explain() y Analizar el rendimiento de query.

Volver

Optimización de consultas

En esta página