使用查询分析器监控查询性能
仅适用于 M10+ 集群和无服务器实例
查询分析器可诊断并监控性能问题。此监控功能可在 Atlas 用户界面中公开运行缓慢的查询及其关键性能统计信息。
Atlas收集并显示任何 mongod
实例的统计信息。 查询分析器根据mongod
实例中的日志数据识别慢速查询。 Atlas会在实例的Query Profiler部分的 Query Insights标签页上显示此数据。
注意
默认下, Atlas查询分析器会显示整个集群的操作。 您可以使用 Filter by Hosts 下拉列表查询分析器显示其过滤数据的主机,这允许您查看与一个或多个特定主机相关的数据,或者查看主节点 (primary node in the replica set)或从节点(secondary node from replica set)托管组。 Query Insights标签页显示的信息揭示了在设立时间范围内的数据库慢速操作,如下所示:
Operation Execution Time
Server Execution Time (无服务器实例)
它在图表和表格中显示这些数据,每个图表和表格都可以根据方面和时间范围进行过滤。
Atlas查询分析器支持在同一时间戳前后的同一集合上运行的同一类型的分箱操作,以支持其他数据点。
为了支持更多数据点, Atlas查询分析器支持满足以下条件的分箱操作:
这些操作属于相同的操作类型。
这些操作在同一命名空间中运行。
这些操作具有匹配的
hasSort
和usedIndex
布尔值。这些操作在相同的时间戳前后执行。
Atlas根据每个mongod
托管的平均操作执行时间来管理该托管的慢速操作阈值。 可以使用db.setProfilingLevel
mongosh
命令更改此阈值。
注意
使用 db.setProfilingLevel
更改慢速操作的阈值,可能会影响性能和系统日志设置。在生产部署中使用 db.setProfilingLevel
调整查询分析器设置之前,请仔细考虑对性能和安全的影响。重新启动节点后,查询分析器设置将重置为默认值。
此外,放大散点图的 x 轴将重新获取慢操作,并可能提供所选时间段内慢操作的更详细信息。
注意
Considerations
重要
在启用查询分析器之前,请阅读以下注意事项。
安全性
个人资料数据可能包括敏感信息,包括数据库查询内容等。确保将这些数据提供给 Atlas 符合您的信息安全实践。
数据分析限制:
Query Profiler 每次显示约 100,000 个采样日志。如果在选定的主机和时间范围内记录了 100,000 个或更少的日志,则会显示所有日志。
数据显示限制
Atlas 在 Query Profiler 图表中最多显示 100,000 个数据点。
日志数据分批处理。数据最长可比实时数据延迟五分钟。
日志数量
如果集群出现活动高峰,并产生大量日志信息,Atlas 可能会在一段时间内停止收集和存储新日志。
注意
日志分析速率限制只适用于 Performance Advisor 用户界面、Query Insights 用户界面、访问跟踪用户界面和和 Atlas Search 查询分析用户界面。可下载的日志文件始终是完整的。
高延迟 $lookup 操作
某些高延迟 $lookup
操作不会为外部集合生成慢速查询日志。发生这种情况的原因是,慢速查询日志与 查询分析器 中报告的操作相对应,而延迟指标仅在获取 集合锁 时才会递增。
如果分片上的 $lookup
查询可以执行本地读取,则 $lookup
不会记录用于查询外部集合的单独操作。本地读取是指对外部集合的查询仅针对执行当前操作的同一分片。因此,$lookup
操作会增加命名空间见解延迟指标和操作计数,但不会为外部集合生成慢查询日志。
必需的访问权限
要为项目启用或禁用 Performance Advisor 和查询分析器,您必须具有该项目的 Project Owner
角色或其父组织的 Organization Owner
角色。
要在查询分析器中查看查询性能,您必须对项目具有Project Read Only 或Project Observability Viewer
访问权限。
启用和禁用查询分析器
Atlas默认启用查询分析器。
要禁用查询分析器:
访问查询分析器
要访问查询分析器:
对于集群:
在项目面板中单击该实例的 View Monitoring。
单击 Query Insights 标签页。
单击 Query Profiler 标签页。
对于无服务器实例,请单击 Monitoring(监控)标签页。
查询分析器图表
在图表上方,选择要查看的指标和时间段。
从 Display(显示)菜单中选择指标。Atlas 接受:
默认:Operation Execution Time 或 Server Execution Time(无服务器实例)
Keys Examined
Docs Returned
Examined:Returned Ratio
Num Yields
Response Length
从 View Last 菜单中选择时间段。Atlas 接受:
7 天
5 天
2 天
24 hr (default)
12 hr
8 hr
1 hr
10 min
在 Filter by Hosts 下拉列表中选择要查看指标的托管或多个主机。
要查看完整查询及其执行统计信息,请单击图表上代表此查询的点。您还可以沿 x 轴和 y 轴单击并拖动,放大所收集数据的特定子集。查看有关分组操作的更多详细信息,会从该组中选择一个随机操作。您必须放大才能查看分组操作中特定操作的详细信息。
查询分析器表
在表上方,选择您要分析性能的命名空间、操作类型和指标:
单击 All Namespaces 可更改要分析的数据库与集合的组合。
单击 All Operations 更改要配置的操作。
单击Operation Execution Time或Server Execution Time (无服务器实例)更改要分析的指标。 Atlas接受:
默认:Operation Execution Time 或 Server Execution Time(无服务器实例)
Keys Examined
Docs Returned
Examined:Returned Ratio
Num Yields
Response Length