评估当前操作的性能


进入MongoDB中文手册(4.2版本)目录

以下各节介绍了评估操作性能的技术。

1 使用数据库分析器评估对数据库的操作

MongoDB提供了一个数据库分析器,该分析器显示了针对数据库的每个操作的性能特征。使用该分析器可以找到运行缓慢的所有查询或写入操作。例如,您可以使用此信息来确定要创建的索引。
从MongoDB 4.2开始,用于读取/写入操作的分析器条目诊断日志消息(即mongod/mongos日志消息)包括:

  • queryHash帮助识别具有相同查询形状的慢查询 。
  • planCacheKey为更加深入了解慢查询的查询计划缓存提供帮助。

从版本4.2(也从版本4.0.6开始可用)开始,副本集的次节点现在记录操作日志(oplog)条目所花费的时间比慢操作阈值要长。这些缓慢的操作日志(oplog)消息会在REPL组件下的诊断日志(diagnostic log)中使用文本 applied op: took ms为次节点记录。这些慢操作日志条目仅取决于慢操作阈值。它们不依赖于日志级别(或者在系统级别或组件级别),配置级别,或运行缓慢的采样率。分析器不会捕获缓慢的操作日志条目。
有关更多信息,请参见数据库分析器(Database Profiler)

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

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

3 使用explain评估查询性能

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

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

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

从MongoDB 4.2开始,explain的输出包括:

  • queryHash帮助识别具有相同查询形状的慢速查询。
  • planCacheKey为更加深入了解慢查询的查询计划缓存提供帮助。

要了解更多信息,请参阅 Explain结果(Explain Results)cursor.explain()db.collection.explain(),和 分析查询性能

进入MongoDB中文手册(4.2版本)目录

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值