借助 AI 辅助功能排查查询速度缓慢问题

本文档介绍了如何使用 Cloud SQL 中的 AI 辅助功能来排查 Cloud SQL 中的查询速度缓慢问题。您可以使用 Cloud SQL 和 Gemini Cloud Assist 的 AI 辅助功能来调查、分析、获取建议,并最终实施这些建议,以优化 Cloud SQL 中的查询。

准备工作

如需借助 AI 辅助功能排查查询速度缓慢问题,请执行以下操作:

  1. 查看 AI 辅助式问题排查的限制
  2. 启用 AI 辅助式问题排查

所需的角色和权限

如需了解借助 AI 辅助功能排查查询速度缓慢问题所需的角色和权限,请参阅借助 AI 进行观测和问题排查

使用 AI 辅助功能

如需使用 AI 辅助功能排查查询速度缓慢问题,请在 Google Cloud 控制台中前往 Cloud SQL 实例的查询数据分析信息中心。

热门查询表

您可以在查询数据分析信息中心的热门查询表部分中,借助 AI 辅助功能开始排查查询速度缓慢问题。

Cloud SQL 可帮助您确定在特定检测时间段内哪些查询的执行速度低于平均水平。在查询数据分析信息中心内选择一个时间范围后,Cloud SQL 会使用所选时间范围结束前 24 小时的检测时间段,检查是否有任何查询的执行速度低于平均水平。

当您调整数据库负载图表的时间范围过滤条件或任何其他过滤条件(例如数据库或用户)时,Cloud SQL 会刷新热门查询表,并根据新查询列表和更新后的检测时间段重新运行异常检测。

查询数据分析数据库负载图表

当 Cloud SQL 检测到异常时,您点击分析延迟时间后,Cloud SQL 会对查询执行基准性能分析。Cloud SQL 会将异常期间的指标映射到速度缓慢的查询,并搜索可能导致性能下降的情况。如果 Cloud SQL 发现潜在情况,则会允许您查看该情况的证据。最后,Cloud SQL 会提供一些建议,以便您修复和优化查询性能。

如需在查询数据分析信息中心的热门查询表中排查查询速度缓慢问题,请执行以下操作:

  1. 在 Google Cloud 控制台中,前往 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 如需打开实例的概览页面,请点击实例名称。
  3. 在 SQL 导航菜单中,点击查询数据分析
  4. 已执行的查询图表中,使用时间范围过滤条件选择 1 小时、6 小时、1 天、7 天、30 天或自定义范围。
  5. 热门查询表中,查看数据库的查询列表。
  6. 如果某个查询的平均执行时间旁边显示分析延迟时间,则表示 Cloud SQL 检测到查询性能存在异常。Cloud SQL 会检查所选时间范围结束前 24 小时时间段内是否存在异常。
  7. 点击分析延迟时间,开始借助 AI 辅助功能排查问题。系统随即会生成分析查询延迟时间页面。
  8. 如果没有任何查询在平均执行时间旁边显示分析延迟时间,则可能是因为以下某种原因:

查询详情

您还可以在查询详情页面中借助 AI 辅助功能排查查询速度缓慢问题。

  1. 在 Google Cloud 控制台中,前往 Cloud SQL 实例页面。

    转到“Cloud SQL 实例”

  2. 如需打开实例的概览页面,请点击实例名称。
  3. 点击查询数据分析以打开查询数据分析信息中心。
  4. 查询数据分析信息中心内,点击热门查询中要查看的查询。系统会显示查询详情页面。
  5. 如果 Cloud SQL 检测到查询存在异常,则查询详情页面中会显示以下一个或多个指标:
    • 详情屏幕上显示 This query is slower than usual 消息,以及分析查询性能选项。
    • 包含查询速度缓慢消息和“分析查询性能”选项的“查询详情”屏幕。
    • 查询延迟时间图表中显示 Query slower than usual 消息。如果系统显示此消息,请点击分析,开始借助 AI 辅助功能排查问题。系统随即会生成分析查询延迟时间页面。
    • 包含查询速度缓慢消息和“分析”选项的“查询延迟时间”图表
  6. 可选:使用时间范围过滤条件选择 1 小时、6 小时、1 天、7 天、30 天或自定义范围。当您调整查询详情页面的时间范围过滤条件或任何其他过滤条件(例如数据库用户)时,Cloud SQL 会重新运行异常检测。
  7. 如果 Cloud SQL 未检测到查询异常,您仍可以通过点击分析查询性能对查询运行分析。这会生成分析查询延迟时间页面。

分析查询延迟时间

借助 AI 辅助功能,您可以对查询延迟时间的详细信息进行分析和问题排查。

分析查询延迟时间页面中,您可以查看查询的以下详细信息以及查询文本:

“查询分析信息”界面

该页面还提供了一个延迟时间图表,其中显示了所选时间段内的 P50、P95 和 P99 延迟时间值。P50 显示的是中位延迟时间,即 50% 的查询用户遇到较长的延迟时间,50% 的查询用户遇到较短的延迟时间。同样,P95 和 P99 线显示 95% 和 99% 的查询用户遇到所指示的查询延迟时间。对于 P95,5% 的查询用户遇到较长的延迟时间,而对于 P99,只有 1% 的查询用户遇到较长的延迟时间。

您可以查看查询延迟时间出现显著增加的具体时间段。

显示 P50、P95 和 P99 延迟时间值的查询延迟时间图表

分析时间段

分析时间段包括您在查询数据分析信息中心或查询详情页面的数据库负载图表中选择的时间范围结束之前的 24 小时。Cloud SQL 会使用此时间段将基准指标与异常时间段内检索的指标进行比较。

查询详情页面上,如果 Cloud SQL 检测到查询存在异常,则在您从查询数据分析信息中心选择查询后,Cloud SQL 会使用异常结束后的最近 24 小时对查询执行基准性能分析。如果 Cloud SQL 未检测到查询存在异常,并再次对查询运行异常检测,则 Cloud SQL 会将所选时间范围结束前 48 小时作为分析时间段的性能基准。

检测到的异常时间段

检测到的异常时间段表示 Cloud SQL 发现查询性能异常变化的时间段。Cloud SQL 会使用在分析时间段内针对查询衡量的基准性能。

如果 Cloud SQL 在所选时间段内检测到某个查询存在多个异常,则 Cloud SQL 会使用最近一次检测到的异常。

情况

开始调查后,Cloud SQL 会分析您的查询和所有历史数据,并尝试找出可能解释查询在所选时间段内速度缓慢的根本情况。

例如,查询速度缓慢原因的一种情况可能被会识别为数据量变化

在识别此特定情况时,Cloud SQL 检测到相应查询的数据量异常增加。Cloud SQL 还会列出未检测到异常的其他可能情况,以便您排除这些情况作为可能的根本原因。

针对速度缓慢查询的分析结果,包括情况和证据

证据

对于每种情况,Cloud SQL 都会提供一系列证据来支持发现结果。Cloud SQL 会根据从实例、数据库和查询的历史运行中收集的指标来生成证据。

针对每种情况提供的证据反映了 Cloud SQL 在检测时间段内针对相应查询检测到的任何异常。Cloud SQL 将异常定义为指标超出特定阈值或符合特定条件的情况。

在此示例中,为了支持数据量变化这一情况,您可能会看到以下证据:

  • 由查询处理的数据:由查询处理的平均数据量最多增加了 5989.97%。
  • 查询执行时间:平均执行时间最多增加了 1506.59%。
  • 共享块命中次数:平均共享块命中次数增加了 2397.83%

您还可能会看到支持典型或非异常查询性能的证据,例如:

  • 返回的行数:未检测到任何显著变化。
  • 数据处理时间:数据不足,无法评估变化。

标准查询执行的证据有助于您确定哪个建议可能更适合您实施。

建议

根据分析的所有情况,Cloud SQL 会为您提供一个或多个切实可行的建议,帮助您解决查询性能缓慢的问题。Cloud SQL 会通过成本效益分析来提供建议,以便您据此做出是否实施建议的明智决策。

例如,您可能会收到以下建议:

  • 创建建议的索引:针对 country 创建新索引,以提高此查询的性能。

如需实施此建议,请执行以下操作:

  1. 建议表中,点击要实施的建议旁边的查看详细信息。系统会显示数据分析和建议窗口。
  2. 数据分析和建议窗口,其中包含要复制的 create index 命令。
  3. 数据分析和建议窗口中,查看建议的操作受影响的表
  4. 可选:如果您想详细了解索引建议,请点击有何帮助以打开 Gemini Cloud Assist
  5. 点击复制所有索引命令
  6. 在 SQL 导航菜单中,点击 Cloud SQL Studio
  7. 向 Cloud SQL Studio 进行身份验证
  8. CREATE INDEX 命令粘贴到 Cloud SQL Studio 中,以创建索引。如需详细了解如何在 Cloud SQL Studio 中运行 SQL 命令,请参阅使用 Cloud SQL Studio 管理数据

如果您想继续排查问题或在查询性能方面获得更多帮助,也可以打开 Gemini Cloud Assist。 如需了解详情,请参阅在 AI 的协助下进行观察并排查问题

后续步骤