评估当前操作性能
在本页面
以下各节介绍了用于评估操作性能的技术。
使用数据库分析器来计算针对数据库的操作
MongoDB提供了一个数据库分析器,它显示针对数据库的每个操作的性能特征。使用分析器定位任何运行缓慢的查询或写操作。例如,您可以使用此信息来确定要创建什么索引。
从MongoDB 4.2开始,用于读写操作的profiler条目和诊断日志消息(即mongod/mongos日志消息)包括:
从版本4.2(也可以从4.0.6开始使用)开始,复制集的次要成员现在会记录花费超过慢操作阈值的oplog条目。这些缓慢的oplog消息被记录在REPL组件下的诊断日志中,并应用文本op: 取<num
>ms。这些较慢的oplog条目仅依赖于较慢的操作阈值。它们不依赖于日志级别(系统或组件级别)、分析级别或较慢的操作采样率。分析器不会捕获很慢的oplog条目。
有关更多信息,请参见Database Profiler。
使用db.currentOp()
到评估mongod
业务
db.currentOp()
到评估mongod
业务该db.currentOp()
方法报告mongod
实例上正在运行的当前操作。
使用explain
来评估查询性能
explain
来评估查询性能在cursor.explain()
与db.collection.explain()
方法返回关于查询执行的信息,如MongoDB的选择以满足查询和执行统计数据的指标。您可以在queryPlanner 模式,executionStats模式或 allPlansExecution模式下运行这些方法,以控制返回的信息量。
https://docs.mongodb.com/manual/reference/program/mongo/#bin.mongo)
例子
要在名为records的集合中查询与表达式**{a: 1}**匹配的文档时使用cursor.explain()
,在mongo shell中使用类似于下面的操作:
从MongoDB 4.2开始,explain输出包括:
planCacheKey
为深入了解查询计划缓存提供慢速查询。
欲了解更多信息,请参阅解释结果, cursor.explain()
,db.collection.explain()
,和 分析查询性能。
译者:杨帅
校对:杨帅
最后更新于