评估当前运营的绩效

在本页面

以下各节介绍了评估运营绩效的技术。

使用数据库探查器评估针对数据库的操作

MongoDB 提供了一个数据库探查器,该探查器显示了针对数据库的每个操作的性能 Feature。使用探查器可以找到运行缓慢的所有查询或写入操作。例如,您可以使用此信息来确定要创建的索引。

有关更多信息,请参见Database Profiling

对于从版本 3.6.11 开始的 MongoDB 3.6 部署,副本集的辅助成员现在为记录操作日志条目,所花费的时间超过了慢操作阈值。这些慢速 oplog 消息将在文本applied op: <oplog entry> took <num>ms下的REPL组件下的diagnostic log中记录。这些慢操作日志条目仅取决于慢操作阈值。它们不取决于日志级别(系统级别或组件级别),配置级别或运行缓慢的采样率。探查器不会捕获缓慢的操作日志条目。

使用 db.currentOp()评估 mongod 操作

db.currentOp()方法报告在mongod实例上运行的当前操作。

使用说明评估查询性能

cursor.explain()db.collection.explain()方法返回有关查询执行的信息,例如为满足查询和执行统计信息而选择的索引 MongoDB。您可以在queryPlanner模式,executionStats模式或allPlansExecution模式下运行方法以控制返回的信息量。

Example

要在查询中使用cursor.explain()匹配与表达式{ a: 1 }相匹配的文档,请在名为records的集合中使用类似于mongo shell 的操作:

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

有关更多信息,请参见Explain Resultscursor.explain()db.collection.explain()分析查询性能