Las siguientes secciones describen técnicas para evaluar el desempeño operativo.
Utilice el generador de perfiles de base de datos para evaluar operaciones en la base de datos
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:
queryHashpara ayudar a identificar consultas lentas con la misma forma de consulta.planCacheKeypara 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
REPLcon el textoapplied 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.
Utiliza db.currentOp() para Evaluar Operaciones de mongod
El método informa sobre las operaciones db.currentOp() mongod actuales que se ejecutan en una instancia.
Utilice explain para evaluar el rendimiento de la consulta
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:
queryHashpara ayudar a identificar consultas lentas con la misma forma de consulta.planCacheKeypara proporcionar más información sobre el caché del plan de consulta para consultas lentas.
Para obtener más información, consulta Explicación de resultados, cursor.explain(), db.collection.explain() y Analizar el rendimiento de query.