评估当前运营的绩效
在本页面
以下各节介绍了评估运营绩效的技术。
使用数据库探查器评估针对数据库的操作
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 Results,cursor.explain(),db.collection.explain()和分析查询性能。