Docs 菜单
Docs 主页
/
MongoDB Manual
/ / /

分析查询性能

在此页面上

  • 识别慢速查询
  • 性能概览
  • 分析慢速查询
  • 执行高级查询分析

MongoDB 提供了多种方法来检查工作负载的性能,允许您了解查询性能并识别那些长时间运行的查询。了解查询性能有助于构建有效的索引,并确保应用程序能够高效地执行关键查询。

使用以下方法识别部署中出现的慢速查询。

以下方法提供了部署性能的概述。使用以下方法确定是否存在需要解决的性能问题:

方法
可用性
说明
使用 Atlas Performance Advisor

M 个10 + Atlas 集群

Atlas Performance Advisor 监控慢速查询并建议新索引以提高性能。 有关详细信息,请参阅监控和改进慢速查询。
检查 Atlas 中正在进行的操作

M 个10 + Atlas 集群

您可以使用Atlas 实时性能面板(RTPP) 查看当前网络流量、数据库操作和硬件统计信息。
在本地检查正在进行的操作

Atlas 集群和自托管部署

$currentOp聚合阶段返回有关活动操作和游标的信息。使用$currentOp识别可能对性能产生负面影响的长时间运行或卡住的操作。

您还可以通过 top 命令获取其他操作次数和延迟统计信息。

检查服务器指标

Atlas 集群和自托管部署

对于 Atlas 集群,您可以查看集群指标以确定性能问题。

对于自托管部署,serverStatus 命令提供可以指示查询执行性能不佳和异常的指标。

查看常见查询结构

Atlas 集群和自托管部署

$queryStats聚合阶段返回有关常见查询结构的信息。 $queryStats提供部署上运行的查询类型的整体视图。
查看索引统计信息

Atlas 集群和自托管部署

$indexStats聚合阶段返回有关集合索引以及单个索引使用频率的信息。使用$indexStats确定未使用的索引,将其删除以提高写入性能。

使用这些方法分析慢速查询并确定性能不佳的原因:

方法
可用性
说明
使用 Atlas 查询分析器

M 个10 + Atlas 集群

Atlas 查询分析器显示长期运行的操作和性能统计信息。如需了解更多信息,请参阅监控查询性能。
启用数据库分析器

Atlas 集群和自托管部署

启用后,数据库分析器会将有关慢速查询的信息存储在system.profilecollection中。

如需了解更多信息,请参阅“数据库分析器”。

在诊断日志中查看慢查询

Atlas 集群和自托管部署

MongoDB 在诊断日志中记录超过慢操作阈值(默认为100毫秒)的查询。

检查诊断日志以识别有问题的查询,并查看哪些查询可受益于索引。

查看解释结果

Atlas 集群和自托管部署

查询解释结果显示有关查询计划和执行统计信息。您可以使用解释结果,确定有关查询的以下信息:

  • 执行查询所花费的时间

  • 查询是否使用索引

  • 为完成查询而扫描的文档和索引键的数量

要查看解释结果,请使用以下方法:

要了解解释结果输出,请参阅解释结果解释“解释计划结果”

以下方法适用于对有问题的查询进行深入分析,并能够提供细致的性能洞察:

方法
可用性
说明
查看计划缓存统计信息

Atlas 集群和自托管部署

$planCacheStats聚合阶段返回有关集合的计划缓存的信息。

计划缓存包含查询规划器用于高效完成查询的查询计划。通常,计划缓存应包含最常运行的查询的条目。

后退

查询优化

来年

解释结果