Docs Menu
Docs Home
/ /
Optimización de consultas

Evaluar el desempeño de las operaciones actuales

Las siguientes secciones describen técnicas para evaluar el desempeño operativo.

MongoDB proporciona una 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 generador de perfiles y los mensajes del registro de diagnóstico (es decir, los mensajes de registro de mongod/mongos) para las operaciones de lectura y escritura incluyen:

  • queryHash para ayudar a identificar consultas lentas con la misma forma de consulta.

  • 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 informa sobre las operaciones db.currentOp() mongod actuales que se ejecutan en una instancia.

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

Ejemplo

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

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