分析查询性能
MongoDB 提供了多种方法来检查工作负载的性能,允许您了解查询性能并识别那些长时间运行的查询。了解查询性能有助于构建有效的索引,并确保应用程序能够高效地执行关键查询。
识别慢速查询
使用以下方法识别在部署中出现的慢查询。
性能概述
以下方法提供了部署性能的概述。使用以下方法确定是否存在需要解决的性能问题:
方法 | 可用性 | 说明 |
---|---|---|
使用 Atlas Performance Advisor | M10+ Atlas 集群 | Atlas Performance Advisor 监控慢速查询并建议新索引以提高性能。 有关详细信息,请参阅监控和改进慢速查询。 |
检查 Atlas 正在进行的操作 | M10+ Atlas 集群 | 您可以使用 Atlas 实时性能面板 (RTPP) 查看当前的网络流量、数据库操作和硬件统计数据。 |
在本地检查正在进行的操作 | Atlas 集群和自托管部署 | 您还可以通过 |
检查服务器指标 | Atlas 集群和自托管部署 | 对于 Atlas 集群,您可以查看集群指标以确定性能问题。 对于自托管部署, |
查看常见查询结构 | Atlas 集群和自托管部署 | |
查看索引统计信息 | Atlas 集群和自托管部署 | $indexStats 聚合阶段会返回有关集合索引的信息,以及各个索引的使用频率。使用 $indexStats 标识可以删除的未使用索引,以提高写入性能。 |
分析慢查询
使用这些方法分析慢查询,并确定性能不佳的原因:
方法 | 可用性 | 说明 |
---|---|---|
使用 Atlas 查询分析器 | M10+ Atlas 集群 | Atlas 查询分析器显示长期运行的操作和性能统计信息。如需了解更多信息,请参阅监控查询性能。 |
启用数据库分析器 | Atlas 集群和自托管部署 | 启用后,数据库分析器将有关慢速查询的信息存储在 如需了解更多信息,请参阅“数据库分析器”。 |
在诊断日志中查看慢查询 | Atlas 集群和自托管部署 | MongoDB 在诊断日志中记录超过慢速操作阈值(默认 100 毫秒)的查询。 检查诊断日志以识别有问题的查询,并查看哪些查询可受益于索引。 |
查看解释结果 | Atlas 集群和自托管部署 | 查询解释结果显示有关查询计划和执行统计信息。您可以使用解释结果,确定有关查询的以下信息:
要查看解释结果,请使用以下方法: 要了解解释结果输出,请参阅解释结果和解释“解释计划结果”。 |
执行高级查询分析
以下方法适用于对有问题的查询进行深入分析,并能够提供细致的性能洞察:
方法 | 可用性 | 说明 |
---|---|---|
查看计划缓存统计信息 | Atlas 集群和自托管部署 |
计划缓存包含查询规划器用于高效完成查询的查询计划。一般来说,计划缓存应包含最常运行查询的条目。 |