Docs 菜单

Docs 主页开发应用程序MongoDB Manual

分析查询性能

在此页面上

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

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

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

以下方法可概述部署的性能。使用这些方法来确定是否存在需要解决的性能问题:

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

M 个10 + Atlas 集群

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

M 个10 + Atlas 集群

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

Atlas 集群和自托管部署

检查服务器指标

Atlas 集群和自托管部署

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

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

查看索引统计信息

Atlas 集群和自托管部署

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

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

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

M 个10 + Atlas 集群

Atlas 查询分析器显示长时间运行的操作和性能统计信息。有关详细信息,请参阅监控查询性能。
启用数据库分析器

Atlas 集群和自托管部署

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

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

在诊断日志中查看慢查询

Atlas 集群和自托管部署

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

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

查看解释结果

Atlas 集群和自托管部署

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

  • 执行查询所花费的时间

  • 查询是否使用了索引

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

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

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

以下方法适合对有问题的查询进行更深入的调查,并且可以提供细粒度的性能见解:

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

Atlas 集群和自托管部署

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

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

← 查询优化