监控活跃查询

本页面介绍了如何监控和排查在 Spanner 实例中运行的查询。活跃查询是长时间运行的查询,可能会影响实例的性能。监控这些查询有助于确定出现实例延迟和 CPU 使用率较高的原因。

您可以使用 Google Cloud 控制台在 Spanner 的 Query Insights 页面上查看活跃查询。这些查询按查询的开始时间排序。如果活跃查询较多,则由于 Spanner 对数据收集实施内存限制,结果可能仅限于总查询的一部分。

准备工作

如需获得查看有效查询所需的权限,请让您的管理员向您授予实例的以下 IAM 角色:

如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限

您也可以通过自定义角色或其他预定义角色来获取所需的权限。

查看活跃查询

如需查看每个数据库的活跃查询,请执行以下操作:

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

    转到“Spanner 实例”页面

  2. 点击包含要监控的查询的实例。

  3. 在导航菜单中,点击查询数据分析

  4. 使用数据库菜单指定要监控的数据库。

  5. 点击活跃查询标签页。该标签页包含活跃查询的摘要,以及一个包含运行时间最长的 50 个活跃查询的表格。

查看运行时间最长的查询

下表介绍了活跃查询标签页上运行时间最长的查询表中的列:

列名 说明
查询 ID 查询的唯一标识符。
查询 SQL 查询文本。
指纹 REQUEST_TAG 或 SQL 查询文本的哈希值。
开始时间 查询开始时的时间戳。
查询时长 活跃查询已运行的时长。
操作 包含用于终止查询的链接。

自动刷新切换开关处于开启状态时,显示的内容每 60 秒刷新一次。

终止查询

您可以终止在实例中运行的查询。终止查询有助于释放资源并减轻实例的负载。终止查询是一项尽力而为的操作。

您启动终止后, Google Cloud 控制台页面会刷新。 如果终止成功,系统会从表中移除相应查询。如果终止失败,系统会在后台执行此操作,并且查询会继续显示在运行时间最长的查询表中。

当服务器繁忙时,Spanner 可能不会取消查询。 您可以再次尝试终止查询以取消它。

如需获得终止查询所需的权限,请让您的管理员为您授予实例的 Cloud Spanner Database Reader (spanner.databaseReader) IAM 角色。

此预定义角色包含终止查询所需的 spanner.sessions.delete 权限。

如需终止查询,请执行以下操作:

  1. 运行时间最长的查询表中选择要终止的查询。
  2. 操作列中,点击终止
  3. 终止查询窗口中,点击确认

后续步骤