内省工具概览

借助 Cloud Spanner 的内省工具,您可以调查数据库问题。它们由一组内置表组成,您可以通过查询这些表更深入地了解查询、事务、读取等。不确定针对特定问题使用哪个工具?以下列表总结了每种工具及其可以帮助解答的问题类型。

查询统计信息

调查数据库中的问题时,可帮您了解哪些查询费用高、运行频繁或可扫描大量数据。

查询统计信息是按 1、10 和 60 分钟间隔收集的查询的聚合统计信息。系统会针对已成功完成的查询以及失败、超时或用户被取消的查询收集统计信息。

统计信息包括最高 CPU 使用率、总查询执行计数、平均延迟时间、扫描最多的数据以及其他基本查询统计信息。使用这些统计信息可帮助确定费用较高的查询、频繁运行的查询或数据密集型查询。

最早的活跃查询

有时,您希望通过检查正在运行的查询来查看系统中当前的工作负载。使用最早的活跃查询工具来调查可能对数据库性能有影响的长时间运行的查询。此工具会告诉您查询是什么、何时开始运行查询以及它们属于哪个会话。

读取统计信息

使用 Cloud Spanner Reads API 可以利用读取统计信息来调查数据库上最常见且使用资源最多的读取。这些统计信息以 3 个不同的时间间隔(每分钟、10 分钟和一小时)收集并存储。对于每个时间间隔,Cloud Spanner 都会跟踪使用最多资源的读取。

使用读取统计信息可找出所有读取的总资源使用率,找出使用 CPU 最多的读取,以及找出特定读取随时间推移的频率变化。

事务统计信息

事务统计信息可用于调查事务相关问题。例如,您可以检查是否存在可能会导致争用的运行缓慢的事务,也可以识别导致性能下降的事务形状变化。每行包含 1、10 和 60 分钟间隔内对数据库执行的所有事务的统计信息。

锁定统计信息

锁定统计信息可用于调查数据库中的锁定冲突。与交易统计信息一起使用时,您可以尝试获取同一时间相同单元格中的锁,从而找出导致锁定冲突的事务。

每个工具中包含的操作

在 Cloud Spanner 中,事务读取查询之间存在一些重叠。因此,您可能不清楚在编译每个内省工具的结果时要包含哪些操作。下表列出了主要操作及其与每种工具的关系。

操作 查询统计信息 最早的活跃查询 读取统计信息 事务统计信息 锁定统计信息
强读取
过时读取
一次性事务1(读取)
一次性事务1(查询)
只读事务1(读取)
只读事务1(查询)
读写事务(读取)
读写事务(查询)
读写事务(DML2、变更3 4

注意:

1 读取相关事务(例如只读事务和一次性事务)不包含在事务统计信息或锁定统计信息中。只有读写事务包含在交易统计信息和锁定统计信息中。

2 未提交的 DML 操作不包含在事务统计信息中。

3 实际上无操作空变更不包含在事务统计信息中。

4 DML 操作的查询部分包含在最早的活跃查询结果中。