Docs 菜单
Docs 主页
/
MongoDB Atlas
/ /

监控查询性能

在此页面上

  • Considerations
  • 必需的访问权限
  • 启用和禁用查询分析器
  • 访问查询分析器

仅适用于 M10+ 集群和无服务器实例

查询分析器可诊断并监控性能问题。此监控功能可在 Atlas 用户界面中公开运行缓慢的查询及其关键性能统计信息。

Atlas收集并显示任何 mongod实例的统计信息。 查询分析器根据mongod实例中的日志数据识别慢速查询。 Atlas会在实例的Query Profiler部分的 Query Insights标签页上显示此数据。

注意

查询分析器与数据库分析器不同。 查询分析器根据mongod日志中的条目识别特定的低效查询。 数据库分析器会根据指定的分析级别,返回在mongod上执行的命令的详细信息。 更改分析级别不会影响查询分析器中显示的慢速查询。

默认情况下,Atlas Query Profiler 显示整个集群中的操作。您可以使用 Host Selector 下拉列表选择查看来自特定分片或分片中节点的操作。Query Insights 标签页显示信息以揭示设定时间范围内缓慢的数据库操作,例如:

  • Operation Execution Time

  • Server Execution Time (无服务器实例)

它在图表和表格中显示这些数据,每个图表和表格都可以根据方面和时间范围进行过滤。

Atlas查询分析器支持在同一时间戳前后的同一集合上运行的同一类型的分箱操作,以支持其他数据点。

为了支持更多数据点, Atlas查询分析器支持满足以下条件的分箱操作:

  • 这些操作属于相同的操作类型。

  • 这些操作在同一命名空间中运行。

  • 这些操作具有匹配的 hasSortusedIndex 布尔值。

  • 这些操作在相同的时间戳前后执行。

Atlas根据每个mongod托管的平均操作执行时间来管理该托管的慢速操作阈值。 可以使用db.setProfilingLevel mongosh命令更改此阈值。

注意

使用 db.setProfilingLevel 更改慢速操作的阈值,可能会影响性能和系统日志设置。在生产部署中使用 db.setProfilingLevel 调整查询分析器设置之前,请仔细考虑对性能和安全的影响。重新启动节点后,查询分析器设置将重置为默认值。

此外,放大散点图的 x 轴将重新获取慢操作,并可能提供所选时间段内慢操作的更详细信息。

注意

要选择退出 Atlas 托管的慢速操作阈值并使用100毫秒的固定慢速查询阈值,请使用Atlas Administration API。请参阅禁用托管慢速操作阈值。对于M0M2M5集群和无服务器实例, Atlas默认禁用 Atlas 托管的慢速查询操作阈值,并且您无法启用。

重要

在启用查询分析器之前,请阅读以下注意事项。

个人资料数据可能包括敏感信息,包括数据库查询内容等。确保将这些数据提供给 Atlas 符合您的信息安全实践。

Query Profiler 每次显示约 100,000 个采样日志。如果在选定的主机和时间范围内记录了 100,000 个或更少的日志,则会显示所有日志。

Atlas 在 Query Profiler 图表中最多显示 100,000 个数据点。

日志数据分批处理。数据最长可比实时数据延迟五分钟。

如果集群出现活动高峰,并产生大量日志信息,Atlas 可能会在一段时间内停止收集和存储新日志。

注意

日志分析速率限制只适用于 Performance Advisor 用户界面、Query Insights 用户界面、访问跟踪用户界面和和 Atlas Search 查询分析用户界面。可下载的日志文件始终是完整的。

要为项目启用或禁用 Performance Advisor 和查询分析器,您必须具有该项目的 Project Owner 角色或其父组织的 Organization Owner 角色。

Atlas默认启用查询分析器。

要禁用查询分析器:

1
  1. 如果尚未显示,请从导航栏上的 Organizations 菜单中选择包含所需项目的组织。

  2. 如果尚未显示,请从导航栏的Projects菜单中选择所需的项目。

  3. Projects(项目)菜单旁边,展开 Options(选项)菜单,然后单击 Project Settings(项目设置)。

    显示项目设置页面。

2

Database Monitoring Tools 部分中,将 Performance Advisor and Profiler 切换为 Off

要访问查询分析器:

  • 对于集群:

    1. 在项目面板中单击该实例的 View Monitoring

    2. 单击 Query Insights 标签页。

    3. 单击 Query Profiler 标签页。

    注意

    在群集级别访问查询分析器时,查询分析器会显示主节点从节点日志中的所有数据。

  • 对于无服务器实例,请单击 Monitoring(监控)标签页。

在图表上方,选择要查看的指标和时间段。

  1. Display(显示)菜单中选择指标。Atlas 接受:

    • 默认:Operation Execution TimeServer Execution Time(无服务器实例)

    • Keys Examined

    • Docs Returned

    • Examined:Returned Ratio

    • Num Yields

    • Response Length

  2. View Last 菜单中选择时间段。Atlas 接受:

    • 5 天

    • 24 hr (default)

    • 12 hr

    • 8 hr

    • 1 hr

    • 10 min

要查看完整查询及其执行统计信息,请单击图表上代表此查询的点。您还可以沿 x 轴和 y 轴单击并拖动,放大所收集数据的特定子集。查看有关分组操作的更多详细信息,会从该组中选择一个随机操作。您必须放大才能查看分组操作中特定操作的详细信息。

在表上方,选择您要分析性能的命名空间、操作类型和指标:

  1. 单击 All Namespaces 可更改要分析的数据库与集合的组合。

  2. 单击 All Operations 更改要配置的操作。

  3. 单击Operation Execution TimeServer Execution Time (无服务器实例)更改要分析的指标。 Atlas接受:

    • 默认:Operation Execution TimeServer Execution Time(无服务器实例)

    • Keys Examined

    • Docs Returned

    • Examined:Returned Ratio

    • Num Yields

    • Response Length

后退

查询延迟