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