Spanner 內建統計資料表總覽

Spanner 內建的統計資料表可協助您調查資料庫中的問題。您可以查詢這些資料表,取得有關查詢、交易和讀取的洞察資料。下表列出各統計資料表和提供的資訊:

查詢統計資料

在調查資料庫問題時,瞭解哪些查詢會耗用大量資源、經常執行或掃描大量資料,將有助於您解決問題。

查詢統計資料是指以 1、10 和 60 分鐘間隔收集的查詢 (包括 DML 陳述式和變更串流查詢) 匯總統計資料。系統會針對成功完成的陳述式,以及失敗、逾時或遭使用者取消的陳述式收集統計資料。

統計資料包括最高 CPU 使用率、查詢總執行次數、平均延遲時間、掃描的資料量,以及其他基本查詢統計資料。您可以利用這些統計資料找出執行頻率高或資料密集的查詢,並進行最佳化。

您可以使用查詢深入分析資訊主頁,以視覺化方式呈現這些指標的時間序列。這些預先建構的資訊主頁可協助您查看 CPU 使用率尖峰,並找出效率不佳的查詢。

最耗時的有效查詢

有時您可能需要檢查執行中的查詢,以便查看系統目前的工作負載。使用「最耗時的有效查詢」工具,調查可能會影響資料庫效能的長時間執行查詢。這項工具會告訴您查詢內容、開始執行的時間,以及查詢屬於哪個工作階段。

最久未執行的查詢中不會包含變更串流查詢。

讀取統計資料

您可以使用讀取統計資料,透過 Spanner Reads API 調查資料庫中最常見且最耗用資源的讀取作業。這些統計資料會以 3 種不同的時間間隔收集及儲存,包括分鐘、10 分鐘和 1 小時。在每個時間間隔中,Spanner 會追蹤使用最多資源的讀取作業。

您可以使用讀取統計資料,找出所有讀取作業的總資源用量、最耗用 CPU 的讀取作業,以及特定讀取作業的頻率隨時間變化的情形。

交易統計資料

交易統計資料可用於調查與交易相關的問題。舉例來說,您可以檢查執行速度緩慢的交易,這類交易可能會導致爭用情形,或是找出導致效能回歸的交易形狀變更。每個資料列都包含統計資料,這些資料是指在 1、10 和 60 分鐘間隔期間,資料庫上執行的所有交易。

您可以使用「交易深入分析」資訊主頁,將這些指標以時間序列的形式呈現。預先建構的資訊主頁可協助您查看交易延遲情形,並找出有問題的交易。

鎖定統計資料

鎖定統計資料可用於調查資料庫中的鎖定衝突。搭配交易統計資料使用時,您可以找出導致鎖定衝突的交易,因為這些交易會嘗試在同一時間內取得相同儲存格的鎖定。

您可以使用「鎖定深入分析」資訊主頁,以時間序列的形式呈現這些指標。預先建構的資訊主頁可讓您查看鎖定等待時間,並確認延遲時間是否因鎖定等待時間過長而發生鎖定爭用情形。

各個工具內含的 API 方法

在 Spanner 中,交易讀取查詢之間有一些重疊。因此,在為每個檢視工具編譯結果時,可能無法明確指出要納入哪些 API 方法。下表列出主要的 API 方法,以及與各工具的關係。

API 方法 交易模式 查詢統計資料 最耗時的有效查詢 讀取統計資料 交易統計資料 鎖定統計資料
Read、StreamingRead 唯讀交易1
讀寫交易
ExecuteSql、ExecuteStreamingSql 唯讀交易1 2 2
讀寫交易
ExecuteBatchDml 讀寫交易 3 4
修訂版本 讀寫交易 (DML 5、Mutation 6)

注意:

1 唯讀交易不會納入交易統計資料或鎖定統計資料。交易統計資料和鎖定統計資料只會納入讀寫交易。

2 使用 PartitionQuery API 執行的查詢不會納入最耗時的有效查詢統計資料

3 查詢統計資料中會顯示一批 DML 陳述式,做為單一項目。

4 批次中的陳述式會顯示在最舊的有效查詢中,而非整個批次。

5 未提交的 DML 作業不會納入交易統計資料。

6 空白的無操作變異不會納入交易統計資料。

表格大小統計資料

您可以使用資料表大小統計資料,監控資料庫中資料表和索引的歷來大小。

您可以使用表格大小統計資料,找出資料表、索引和變更串流表格大小的趨勢。您也可以追蹤最大的資料表和索引。

請注意,這項功能僅提供歷史資料。但不適用於即時監控。

表格作業統計資料

您可以使用表格作業統計資料執行以下操作:

  • 監控資料庫中資料表和索引的使用情形。
  • 找出表格和索引的使用趨勢。
  • 找出流量變化。

此外,您也可以將表格儲存空間的變更與寫入流量的變更做連結。

資料欄作業統計資料

您可以使用資料欄運算統計資料執行以下操作:

  • 監控資料表中欄的統計資料。
  • 找出表格欄的使用趨勢。

偵錯分割作業中的熱點

您可以在資料庫中偵錯熱點,找出資料庫中溫熱熱門的分割,也就是說,分割的負載有很大一部分受到可用資源的限制。您可以查看過去 6 小時內,分割作業 CPU 使用率分數最高的部分,以 1 分鐘為間隔。