Spanner 內建的統計資料表可協助您調查資料庫中的問題。您可以查詢這些資料表,深入瞭解查詢、交易和讀取作業。Spanner 提供下列內建統計資料表 (或內省工具):
- 有效分區 DML 統計資料
- 資料欄作業統計資料
- 鎖定狀態統計資料
- 最耗時的有效查詢統計資料
- 查詢統計資料
- 讀取統計資料
- 分割統計資料
- 資料表作業統計資料
- 表格大小統計資料
- 交易統計資料
- 向量索引統計資料
這些資料表會存取 SPANNER_SYS 資料,但只能透過下列 Spanner SQL 介面存取:
- Google Cloud 控制台中的資料庫 Spanner Studio 頁面。
gcloud spanner databases execute-sql指令。executeSql或executeStreamingSql方法。
您無法使用其他單一讀取方法查詢 SPANNER_SYS 資料表。
各工具包含的 API 方法
在 Spanner 中,交易、讀取和查詢之間有些重疊。因此,在為每個內省工具編譯結果時,您可能不清楚包含哪些 API 方法。下表列出主要 API 方法,以及這些方法與各項工具的關係。
| API 方法 | 交易模式 | 查詢統計資料 | 最耗時的有效查詢 | 讀取統計資料 | 交易統計資料 | 鎖定統計資料 |
|---|---|---|---|---|---|---|
| Read、StreamingRead | 唯讀交易1 | 否 | 否 | 是 | 否 | 否 |
| 讀寫交易 | 否 | 否 | 是 | 是 | 是 | |
| ExecuteSql、ExecuteStreamingSql | 唯讀交易1 | 是2 | 是2 | 否 | 否 | 否 |
| 讀寫交易 | 是 | 是 | 否 | 是 | 是 | |
| ExecuteBatchDml | 讀寫交易 | 是3 | 是4 | 否 | 是 | 是 |
| 修訂版本 | 讀寫交易 (DML5、突變6) | 否 | 否 | 否 | 是 | 是 |
注意:
1 交易統計資料或鎖定統計資料不含唯讀交易。交易統計資料和鎖定統計資料只會納入讀寫交易。
2 使用 PartitionQuery API 執行的查詢不會計入最耗時的有效查詢統計資料。
3 查詢統計資料會將批次 DML 陳述式視為單一項目。
4 批次中的陳述式會顯示在最耗時的有效查詢中,而非整個批次。
5 交易統計資料不包含未提交的 DML 作業。
6 實際上為空值的突變不會納入交易統計資料。
有效的分區 DML 統計資料
作用中的分區資料操縱語言 (DML) 統計資料會提供資料庫中作用中分區 DML 的即時進度。
資料欄作業統計資料
- 監控資料表中的資料欄統計資料。
- 找出表格欄的使用趨勢。
鎖定統計資料
您可以使用「鎖定統計資料」調查資料庫中的鎖定衝突。搭配交易統計資料使用,您可以找出導致鎖定衝突的交易,這些交易會嘗試同時取得相同儲存格的鎖定。
您可以使用「鎖定洞察」資訊主頁,以時間序列的形式呈現這些指標。預先建構的資訊主頁可協助您查看鎖定等待時間,並確認延遲是否是由於鎖定爭用和鎖定等待時間過長所致。
最耗時的有效查詢統計資料
有時您會想檢查執行中的查詢,瞭解系統目前的工作負載。使用「最耗時的有效查詢」工具,調查可能影響資料庫效能的長時間執行查詢。這項工具會顯示查詢內容、開始執行的時間,以及所屬的工作階段。
最耗時的有效查詢不包括變更串流查詢。
查詢統計資料
調查資料庫問題時,瞭解哪些查詢耗費資源、經常執行或掃描大量資料,有助於解決問題。
查詢統計資料是查詢的匯總統計資料 (包括 DML 陳述式和變更串流查詢),每 1 分鐘、10 分鐘和 60 分鐘收集一次。系統會收集成功完成的陳述式,以及失敗、逾時或遭使用者取消的陳述式統計資料。
統計資料內含 CPU 使用率最高值、查詢執行總次數、平均延遲時間、掃描最多資料,以及其他基本查詢統計資料。並根據這些統計資料找出耗費資源、經常執行或需要大量資料的查詢。
您可以使用查詢洞察資訊主頁,以時間序列呈現這些指標。這些預先建構的資訊主頁有助於查看 CPU 使用率尖峰,以及找出效率不彰的查詢。
讀取統計資料
您可以使用 讀取統計資料,透過 Spanner Reads API 找出資料庫中最常見且最耗用資源的讀取作業。系統會以 3 種不同的時間間隔 (1 分鐘、10 分鐘和 1 小時) 收集及儲存這些統計資料。在每個時間間隔中,Spanner 會追蹤使用最多資源的讀取作業。
您可以使用讀取統計資料,瞭解所有讀取作業的資源用量總和、找出最耗用 CPU 的讀取作業,以及瞭解特定讀取作業的頻率隨時間的變化。
收益分成統計資料
您可以偵錯資料庫中的熱點,找出資料庫中「溫暖」或「熱門」的分割,也就是分割上的負載有很高的百分比受到可用資源限制。您可以查看過去 6 小時內,分割 CPU 用量分數最高的分割統計資料,間隔為 1 分鐘。
表格作業統計資料
- 監控資料庫中資料表和索引的使用情形。
- 找出資料表和索引的使用趨勢。
- 找出流量變化。
此外,您也可以將表格儲存空間的變化與寫入流量的變化相互比較。
資料表大小統計資料
您可以使用「資料表大小統計資料」監控資料庫中資料表和索引的歷史大小。
您可以根據資料表大小統計資料,找出資料表、索引和變更串流資料表的大小趨勢。您也可以追蹤最大的資料表和索引。
請注意,這項功能僅提供歷史觀點。不適用於即時監控。
交易統計資料
您可以使用「交易統計資料」調查交易相關問題。舉例來說,您可以檢查可能導致爭用的緩慢執行交易,或找出導致效能回歸的交易形狀變化。每個資料列都包含資料庫在 1 分鐘、10 分鐘和 60 分鐘間隔期間執行的所有交易統計資料。
您可以使用「交易洞察」資訊主頁,以時間序列的形式呈現這些指標。預先建構的資訊主頁可協助您查看交易延遲時間,並找出有問題的交易。
向量索引統計資料
您可以透過向量索引統計資料,查看向量索引的成效、找出需要改進的地方,並根據提供的指標調整索引。