您可以使用查询形状监控运行缓慢的查询形状的操作级查询执行指标。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 已更新插入 | 由具有给定查询结构的查询 upsert 的文档总数。仅可用于运行 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 会在项目符合以下条件时,自动为项目订阅查询结构报告。
项目收到一个
Query Targeting: Scanned Objects / Returned警报。警报来自运行 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 表中搜索并选择查询形状,请执行以下操作: