您可以使用查询结构见解监控包含运行缓慢的查询的 查询结构的操作级别查询执行指标。Query Shape Insights 页面显示图表和表格,描述项目中具有最高总执行时间的查询结构的性能指标。您可以按照托管、分片和时间范围过滤器显示的查询结构数据,并选择最多五个查询结构以在对应的指标图表中进行可视化。
Atlas仅在运行MongoDB 8.0 及更高版本的专用集群(M10 及更高版本)上支持查询形状见解。
Atlas如何收集查询结构统计信息
查询结构见解显示在集群上运行的操作子集的数据。集合方法取决于集群的MongoDB版本:
在运行MongoDB 8.x 的集群上, Atlas在每个托管上每秒最多记录 100 次读取查询。 Atlas不收集写入操作。
在运行MongoDB 9.0 或更高版本的集群上, Atlas默认对 1% 的写入操作进行默认。显示的指标值仅反映抽样操作,约占总操作的 1%。不经常运行的查询形状可能不会出现在结果中。此方法还收集写入操作(
insert、update和delete),这些操作与读取操作一起出现在“查询形状见解”中。
注意
将集群从MongoDB 8.x升级到 9.0 后,查询形状见解中的指标总数可能与升级前明显不同。这种差异反映了采样方法的变化,而不是集群工作负载的变化。
必需的访问权限
要使用“查询形状见解”查看指标,您必须具有对项目的 Project Observability Viewer、Project Data Access Read Only、Project Data Access Read/Write、Project Data Access Admin 或 Project Owner访问权限。
重要
查询形状会公开字段名称,但编辑后的值可能包含用户 PII。要在查询形状见解中查看截断或完整查询形状,您必须具有上面列出的项目角色之一,每个角色都具有查看PII的访问访问权限。对于没有这些权限的用户,查询形状见解会通过其查询结构哈希来识别查询形状。
访问查询结构见解
要访问权限查询结构见解,请执行以下操作:
AtlasGoClusters在Atlas中,Go项目的 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
在侧边栏中,单击 Database 标题下的 Clusters。
会显示集群页面。
筛选查询见解
您可以按节点、节点状态(主节点 (primary node in the replica set)或从节点(secondary node from replica set))和分片过滤Query Insights 页面。您还可以按过去 7 天内的自定义日期范围进行过滤,或选择以下预设时间范围之一:
7 天
5 天
2 天
24 小时(默认)
12 小时
8 小时
1 小时
当您应用过滤时, Atlas会重新获取当前屏幕上的图表和表格的数据。
查看Charts和表格中的指标
查询形状见解显示图表和表格,描述项目中查询运行缓慢的查询形状的指标。
查询结构见解表对于项目中的每个热门查询结构都包含一行,其中热门查询结构由最高总执行时间确定。每行包含查询结构或其查询结构哈希、查询结构的命名空间、查询命令以及您选择显示的任何指标。您可以使用 Edit Columns 按钮选择将以下哪些指标作为表列包含在内:
衡量标准 | 说明 |
|---|---|
总执行时间 | |
平均执行时间 | |
执行计数 | 执行具有给定查询结构的查询的总次数。 |
检查的键 | 具有给定查询结构的查询检查的界内和界外索引键总数。 |
检查的键:已返回 | 检查的界内和界外索引键与包含给定查询结构的查询返回的文档的索引的比率。 |
检查的Docs | 具有给定查询结构的查询检查的文档总数。 |
返回的Docs | 具有给定查询结构的查询返回的文档总数。 |
检查的Docs:已返回 | 具有给定查询结构的查询检查的文档与返回的文档的比率。 |
匹配的Docs | 与具有给定查询结构的查询匹配的文档总数。仅适用于运行MongoDB 9.0 或更高版本的集群上的写入命令。 |
已修改Docs | 通过具有给定查询结构的查询修改的文档总数。仅适用于运行MongoDB 9.0 或更高版本的集群上的写入命令。 |
已更新的Docs | 通过具有给定查询结构的查询更新或插入的文档总数。仅适用于运行MongoDB 9.0 或更高版本的集群上的写入命令。 |
已插入Docs | 具有给定查询结构的查询插入的文档总数。仅适用于运行MongoDB 9.0 或更高版本的集群上的写入命令。 |
已删除Docs | 具有给定查询结构的查询删除的文档总数。仅适用于运行MongoDB 9.0 或更高版本的集群上的写入命令。 |
已插入钥匙 | 具有给定查询结构的查询插入的索引键总数。仅适用于运行MongoDB 9.0 或更高版本的集群上的写入命令。 |
已删除密钥 | 具有给定查询结构的查询删除的索引键总数。仅适用于运行MongoDB 9.0 或更高版本的集群上的写入命令。 |
总响应时间 | 从查询处理开始到服务器第一次响应所花费的时间(以微秒为单位)。 |
上次执行时间 | 具有给定查询结构的最近查询的执行时间(以微秒为单位)。 |
P50 执行时间 | 执行时间直方图中的第 50 个百分位数。 |
P90 执行时间 | 执行时间直方图中的第 90 个百分位数。 |
P99 执行时间 | 执行时间直方图中的第 99 个百分位数。 |
您还可以从 Query Shape Statistics 组件标题的下拉菜单中选择要绘制图表的每个指标,以显示上述一个或多个指标的图表。
Atlas一次可以为最多五个查询形状的每个指标图表。默认下, Atlas Charts具有最高 Total Execution Time 的五个查询形状的每个指标绘制图表。 您可以通过选中或取消选中所需查询形状行中的复选框来选择以图表图表不同的查询形状。您可以通过选择或取消选择所需查询形状行中的复选框,从表中管理要图表图表的查询形状。
要查看有关查询结构的更多详细信息,请单击查询结构对应的行以打开 Query Shape Details 视图。此视图包含完整的查询结构和查询结构哈希、上面列出的每个表指标以及以下附加指标:
上次查看时间戳
首次出现时间戳
上次查看的应用程序
上次看到的驱动程序名称和版本
首次出现的应用程序
首次出现的驱动程序名称和版本
查询结构报告
Atlas可以向您发送一封电子邮件查询形状报告,其中总结了项目中集群的低效查询形状。为了帮助您识别和调查慢速查询,该报告直接链接到 Query Shape Insights 页面。
资格
当项目满足以下条件时, Atlas会自动为项目订阅“查询形状报告”:
警报源自运行MongoDB版本 8.0 或更高版本的专用集群(M10 或更高版本)。
无论项目是否收到查询目标警报,Project Owner 用户还可以手动订阅或取消订阅查询形状报告。要学习;了解更多信息,请参阅管理报告订阅。
报告行为
Atlas按以下安排发送查询结构报告:
当项目符合条件时, Atlas会在
Query Targeting: Scanned Objects / Returned警报约一小时后发送第一份报告。Atlas大约每周发送一次额外报告,直到项目取消订阅。
Atlas会将每份报告发送给具有 Project Owner角色的所有用户。
如果给定报告时间段内不存在符合条件的查询形状, Atlas会跳过该报告并继续生成下一个计划的报告。
报告内容
每封查询结构报告电子邮件都包含以下信息:
Atlas用户界面中组织、项目和集群的链接。
指向集群Query Shape Insights 页面的链接。
一个最多包含五个查询结构的表,按总执行时间排名。每个查询结构在报告期间必须至少有 10 次执行才会出现。
指向 Query Shape Insights 页面上每个查询形状详细信息的链接。
Project Settings 中报告订阅设置的链接。要学习;了解更多信息,请参阅管理项目设置。
查询结构表包含过去三天每个查询结构的以下指标:
列 | 说明 |
|---|---|
集合名称 | 查询结构所针对的集合的名称。 |
平均执行时间 | 运行具有给定查询结构的查询所花费的平均时间。 |
执行计数 | 具有给定查询结构的查询运行的总次数。 |
检查的Docs:返回比率 | 具有给定查询结构的查询检查的文档与返回的文档的比率。 |
管理报告订阅
您可以在项目设置中订阅或取消订阅查询结构报告。此设置控制项目中所有用户的报告。只有具有 Project Owner角色的用户才能更改订阅,并且只有 Project Owner 用户会收到报告。
要管理查询结构报告,请执行以下操作:
在 Atlas 中,前往 Project Settings 页面。
如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。
如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。
在侧边栏中,单击 图标 Project Overview 旁边的图标。
- 项目设置页面
- 显示。
切换 Query Shape Reports 设置。
打开开关进行订阅,关闭开关取消订阅。首次订阅时,请选择您希望报告涵盖的集群或多个集群。此更改适用于项目中的所有 Project Owner 用户。
您还可以通过单击任何“查询形状报告”电子邮件中的取消订阅链接来取消订阅。该链接会将您定向到 Project Settings, Atlas可以在其中取消订阅项目。取消订阅链接无需登录即可使用。
限制
查询结构报告具有以下限制:
订阅设置适用于整个项目。您无法订阅或取消订阅单个用户。
查询结构报告无法通过Atlas Administration API获得。
选择要绘制图表的查询形状
默认下,Query Shape Insights 显示 Total Execution Time 最高的前五个查询结构的指标图表。您最多可以选择五个查询形状,在 Query Shape Insights(图表)表中图表。
要在 Query Shape Insights 表中搜索并选择查询形状,请执行以下操作: