借助 AI 辅助排查数据库负载过高的问题

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

通过访问 Google Cloud 控制台中的查询洞见信息中心,您可以分析数据库并在系统遇到高于平均水平的数据库负载时排查事件。Cloud SQL 会使用所选时间范围之前 24 小时的数据来计算数据库的预期负载。您可以调查高负载事件的原因,并分析性能下降背后的证据。 最后,Cloud SQL 会提供一些建议,以便您优化数据库以提升性能。

准备工作

如需借助 AI 辅助功能排查数据库负载过高问题,请执行以下操作:

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

所需的角色和权限

如需了解借助 AI 辅助功能排查数据库负载过高问题所需的角色和权限,请参阅借助 AI 进行观测和问题排查

使用 AI 辅助功能

如需使用 AI 辅助功能排查数据库负载过高问题,请在 Google Cloud 控制台中前往实例概览页面或查询数据分析信息中心。

实例概览页面

如需在实例概览页面中借助 AI 辅助功能排查数据库负载过高问题,请执行以下步骤:

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

    转到“Cloud SQL 实例”

  2. 如需打开实例的概览页面,请点击实例名称。
  3. 概览页面中,从图表菜单中选择数据库的指标。您可以选择任何指标。
  4. 可选:如需选择特定的分析时间段,请使用时间范围过滤条件选择 1 小时、6 小时、1 天、7 天、30 天或自定义范围。
  5. “概览”页面上的数据库性能图表,显示了 24 小时内的 CPU 利用率,并提供用于分析实例性能的选项。

    您可以放大图表的特定部分,以便分析您发现的高负载区域。例如,高负载区域可能会显示接近 100% 的 CPU 利用率。 如需放大图表,请点击并选择图表的一部分。

    放大数据库性能图表。
  6. 点击分析实例性能,开始借助 AI 辅助功能排查数据库负载过高的问题。这会生成分析数据库负载页面。

“查询数据分析”信息中心

如需在查询数据分析信息中心内借助 AI 辅助功能排查数据库负载过高问题,请按以下步骤操作:

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

    转到“Cloud SQL 实例”

  2. 如需打开实例的概览页面,请点击实例名称。
  3. 点击查询数据分析以打开查询数据分析信息中心。
  4. 可选:使用时间范围过滤条件选择 1 小时、6 小时、1 天、7 天、30 天或自定义范围。
  5. “查询数据分析”图表中的“数据库负载”图表,显示了 24 小时时间段内的查询延迟时间,并提供用于分析实例性能的选项。

    您可以放大图表的特定部分,以便查看按查询执行时间划分的数据库负载较高的区域。 如需放大图表,请点击并选择图表的一部分。

  6. 数据库负载图表中,点击分析实例性能,开始借助 AI 辅助功能排查数据库负载过高的问题。 这会生成分析数据库负载页面。

分析高数据库负载

借助 AI 辅助功能,您可以对数据库负载的详细信息进行分析和问题排查。

分析数据库负载页面中,您可以查看 Cloud SQL 实例的以下详细信息:

  • 分析时间段
  • CPU 利用率 (p99)
  • 内存利用率 (p99)

Cloud SQL 会显示每秒事务数图表,您可以在其中查看所选时间段内的事务活动。您可以查看特定时间段内活动量是否突然飙升。

Cloud SQL for PostgreSQL 的“分析数据库性能”页面

分析时间段

Cloud SQL 会分析您在查询数据分析信息中心或实例概览页面的数据库负载图表中选择的时间段内的数据库。如果您选择的时间段不足 24 小时,Cloud SQL 会分析整个时间段。 如果您选择的时间段超过 24 小时,Cloud SQL 将仅选择该时间段的最后 24 小时进行分析。

为了计算数据库的基准性能分析,Cloud SQL 会在分析时间段内纳入 24 小时的基准时间段。如果您选择的时间段不是从周一开始,Cloud SQL 会使用所选时间段前 24 小时作为基准时间段。如果您选择的时间段是周一,那么 Cloud SQL 会使用所选时间段前 7 天作为基准时间段。

情况

当 Cloud SQL 开始分析时,会检查以下关键指标是否存在显著变化:

  • 每秒查询次数 (QPS)
  • CPU
  • 内存
  • 磁盘 I/O

Cloud SQL 会将数据库在分析时间窗口内的性能数据与基准汇总数据进行比较。如果 Cloud SQL 检测到关键指标的阈值发生了显著变化,则 Cloud SQL 会指示数据库可能存在问题。系统识别出的情况可能说明了所选时间段内数据库负载过高的根本原因。

例如,数据库负载过高的原因可能被识别为锁争用

在分析期间,Cloud SQL 可能会确定锁等待率显著增加。Cloud SQL 可能会列出其他关键指标显示显著增加的情况。例如,您可能还会看到以下列出的情况:

  • 系统资源存在争用情况
  • 缓冲区不足
  • 日志记录过多

Cloud SQL for PostgreSQL 的情况和证据

证据

对于每种情况,Cloud SQL 都会提供一系列证据来支持发现结果。Cloud SQL 会根据从实例收集的指标来确定证据。

每种情况都有用于检测系统性能异常的支持证据。当系统性能超出特定阈值或符合特定时限条件时,Cloud SQL 会检测到异常情况。Cloud SQL 会针对每种情况定义这些阈值或条件。

为了支持锁争用这一情况,您可能会看到以下证据:

  • 锁定等待率:与基准观察期相比,检测到锁定等待率增加了 40,786.04%。

如需查看分析期间检索到的证据,请点击每种情况。 证据会显示在相应情况旁边的窗格中。

建议

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

在某些情况下,根据分析结果,可能不会有任何建议。

建议表格

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

  • 识别阻塞查询:识别潜在的阻塞查询,并查看是否存在优化机会。

如需了解如何实现第一条建议,请点击了解详情链接。

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

后续步骤