本页介绍了如何监控和排查 Spanner 实例中运行的查询。活跃查询是长时间运行且可能影响实例性能的查询。监控这些查询有助于确定出现实例延迟和 CPU 使用率较高的原因。
您可以使用 Google Cloud 控制台在 Spanner 的查询分析页面上查看正在运行的查询。这些查询会按查询的开始时间排序。如果有许多有效查询,则由于 Spanner 对数据收集实施内存限制,结果可能会仅限于总查询的一部分。
准备工作
如需获得查看有效查询所需的权限,请让您的管理员为您授予实例的以下 IAM 角色:
-
Cloud Spanner Viewer (
roles/spanner.viewer
) -
Cloud Spanner Database Reader (
roles/spanner.databaseReader
)
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
查看活跃查询
如需查看每个数据库的活跃查询,请执行以下操作:
在 Google Cloud 控制台中,前往 Spanner 实例页面。
点击包含要监控的查询的实例。
在导航菜单中,点击查询数据分析。
使用数据库菜单指定要监控的数据库。
点击活跃查询标签页。此标签页包含有关有效查询的摘要,以及包含运行时间最长的前 50 个有效查询的表格。
查看运行时间最长的查询
下表介绍了有效查询标签页上的运行时间最长的查询表中的列:
列名 | 说明 |
---|---|
查询 ID | 查询的唯一标识符。 |
查询 | SQL 查询文本。 |
指纹 | REQUEST_TAG 或 SQL 查询文本的哈希值。 |
开始时间 | 查询开始时的时间戳。 |
查询时长 | 活跃查询的运行时长。 |
操作 | 包含用于终止查询的链接。 |
自动刷新切换开关处于开启状态时,显示屏每 60 秒刷新一次。
终止查询
您可以终止在实例中运行的查询。终止查询可能会有助于释放资源并减轻实例的负载。终止查询是尽力而为的操作。
您发起终止后,Google Cloud 控制台页面会刷新。如果终止成功,系统会从表中移除相应查询。如果终止失败,则会在后台终止,并且查询会继续显示在运行时间最长的查询表中。
当服务器繁忙时,Spanner 可能不会取消查询。您可以再次尝试终止查询以将其取消。
如需获得终止查询所需的权限,请让您的管理员为您授予实例的 Cloud Spanner Database Reader (spanner.databaseReader
) IAM 角色。
如需终止查询,请执行以下操作:
- 从运行时间最长的查询表中选择要终止的查询。
- 在操作列中,点击终止。
- 在终止查询窗口中,点击确认。
后续步骤
- 详细了解如何分析查询性能。
- 详细了解“最早的活跃查询”统计信息。