本頁面說明在最佳情況下,Spanner 大約可提供的效能、可能影響效能的因素,以及測試和排解 Spanner 效能問題的訣竅。
本頁面的資訊適用於 GoogleSQL 和 PostgreSQL 資料庫。
提升效能和儲存空間
所有 Spanner 單一區域、雙區域和多區域執行個體設定都已推出效能和儲存空間改善功能。您不需要對應用程式進行任何變更,也不必在 Spanner 執行個體中手動設定任何項目,即可享有這些改良功能,而且不會產生額外費用。這些效能提升可讓所有執行個體設定的 Spanner 節點,都能達到更高的總處理量和更低的延遲時間。
提高效能處理量
所有 Spanner 執行個體設定的效能都已提升,並提供更高的輸送量。下表列出 Spanner 執行個體設定的約略輸送量 (每秒查詢次數):
執行個體設定類型 | 最高讀取數 (每個地區的 QPS) | 最高寫入數 (QPS 總計) | 使用總處理量最佳化寫入的尖峰寫入數 (QPS 總計) | ||
---|---|---|---|---|---|
區域 | SSD:22,500 HDD:1,500 |
或 | SSD:3,500 HDD:3,500 |
SSD:22,500 HDD:22,500 |
|
雙區域和多區域 | SSD:15,000 HDD:1,000 |
或 | SSD:2,700 HDD:2,700 |
SSD:15,000 HDD:15,000 |
如要瞭解這些執行個體設定的效能輸送量,請參閱「一般工作負載的效能」。如要進一步瞭解如何使用固態硬碟 (SSD) 和一般硬碟 (HDD) 儲存資料,請參閱「分層儲存空間總覽」。
每個地區都會提供讀取指南 (因為讀取作業可從任何讀寫或唯讀地區提供),而寫入指南則適用於整個設定。讀取指南假設您讀取的是 1 KB 的單一資料列。寫入指南假設您是以每列 1 KB 的資料量寫入單一資料列。
使用總處理量最佳化寫入時,批次處理延遲時間為 100 毫秒,可達到寫入效能高峰。
一般來說,只要在 Spanner 執行個體中新增運算資源 (節點或處理單元),執行個體的讀取和寫入輸送量就會線性擴充。舉例來說,如果具有 2 個節點的單一區域 Spanner 執行個體每秒最多可提供 45,000 次讀取作業,那麼具有 4 個節點的單一區域 Spanner 執行個體每秒最多可提供 90,000 次讀取作業。
如果 Spanner 工作負載的成效不如預期,請參閱排解效能回歸問題,瞭解常見原因。
更多儲存空間
對於所有 Spanner 單一區域、雙區域和多區域執行個體設定,執行個體中每個節點 (1,000 個處理單元) 的運算資源儲存容量都會增加 10 TiB。
一般工作負載效能
所有 Spanner 執行個體設定的效能都已提升,並提供更高的輸送量。
區域設定的效能
在區域執行個體設定中,每 1,000 個處理單元 (1 個節點) 的運算資源可提供下列尖峰效能 (CPU 使用率為 100%):
最高讀取數 (每個地區的 QPS) | 最高寫入數 (QPS 總計) | 使用總處理量最佳化寫入的尖峰寫入數 (QPS 總計) | ||
---|---|---|---|---|
SSD:22,500 HDD:1,500 |
或 | SSD:3,500 HDD:3,500 |
SSD:22,500 HDD:22,500 |
對於允許選用唯讀副本的區域執行個體設定,選用唯讀副本可額外支援每秒 7,500 次的 SSD 儲存空間讀取作業,以及每秒 500 次的 HDD 儲存空間讀取作業。
雙區域設定的效能
在雙區域執行個體設定中,每 1,000 個處理單元 (1 個節點) 的運算資源可提供下列尖峰效能 (CPU 使用率為 100%)。如要提高寫入總處理量,請使用最佳化總處理量寫入作業。
基礎設定名稱 | 最高讀取數約略值 (每個地區的 QPS) | 最高寫入數約略值 (QPS 總計) |
---|---|---|
dual-region-australia1 |
SSD:15,000 HDD:1,000 |
SSD:2,700 HDD:2,700 |
dual-region-germany1 |
SSD:15,000 HDD:1,000 |
SSD:2,700 HDD:2,700 |
dual-region-india1 |
SSD:15,000 HDD:1,000 |
SSD:2,700 HDD:2,700 |
dual-region-japan1 |
SSD:15,000 HDD:1,000 |
SSD:2,700 HDD:2,700 |
每個地區都會提供讀取指南 (因為讀取作業可從任何地方提供),而寫入指南則適用於整個設定。讀取和寫入指南假設您是以每列 1 KB 的資料量讀取及寫入單一資料列。
多區域設定的效能
每個 Spanner 多區域執行個體設定的效能特性會略有不同,視複製拓撲而定。使用處理量最佳化寫入,將寫入處理量提升至超出表格中的數字。
每 1,000 個處理單元 (1 個節點) 的運算資源可提供下列尖峰效能 (CPU 使用率為 100%):
基礎設定名稱 | 最高讀取數約略值 (每個地區的 QPS) | 最高寫入數約略值 (QPS 總計) |
---|---|---|
asia1 |
SSD:15,000 HDD:1,000 |
SSD:2,700 HDD:2,700 |
asia2 |
SSD:15,000 HDD:1,000 |
SSD:2,700 HDD:2,700 |
eur3 |
SSD:15,000 HDD:1,000 |
SSD:2,700 HDD:2,700 |
eur5 |
SSD:15,000 HDD:1,000 |
SSD:2,700 HDD:2,700 |
eur6 |
SSD:15,000,每個選用的唯讀副本為 7,500 HDD:1,000,每個選用的唯讀副本為 500 |
SSD:2,700 HDD:2,700 |
eur7 |
SSD:15,000,每個選用的唯讀副本為 7,500 HDD:1,000,每個選用的唯讀副本為 500 |
SSD:2,700 HDD:2,700 |
nam3 |
SSD:15,000,每個選用的唯讀副本為 7,500 HDD:1,000,每個選用的唯讀副本為 500 |
SSD:2,700 HDD:2,700 |
nam6 |
固態硬碟:us-central1 和 us-east1 中為 15,000,us-west1 和 us-west2 中為 7,500傳統硬碟: us-central1 和 us-east1 中為 1,000,us-west1 和 us-west2 中為 500 [1] |
SSD:2,700 HDD:2,700 |
nam7 |
SSD:15,000,每個選用的唯讀副本為 7,500 HDD:1,000,每個選用的唯讀副本為 500 |
SSD:2,700 HDD:2,700 |
nam8 |
SSD:15,000 HDD:1,000 |
SSD:2,700 HDD:2,700 |
nam9 |
SSD:15,000 HDD:1,000 |
SSD:2,700 HDD:2,700 |
nam10 |
SSD:15,000 HDD:1,000 |
SSD:2,700 HDD:2,700 |
nam11 |
SSD:15,000,每個選用的唯讀副本為 7,500 HDD:1,000,每個選用的唯讀副本為 500 |
SSD:2,700 HDD:2,700 |
nam12 |
SSD:15,000 HDD:1,000 |
SSD:2,700 HDD:2,700 |
nam13 |
SSD:15,000 HDD:1,000 |
SSD:2,700 HDD:2,700 |
nam14 |
SSD:15,000 HDD:1,000 |
SSD:2,700 HDD:2,700 |
nam15 |
SSD:15,000 HDD:1,000 |
SSD:2,700 HDD:2,700 |
nam16 |
SSD:15,000 HDD:1,000 |
SSD:2,700 HDD:2,700 |
nam-eur-asia1 |
SSD:15,000 HDD:1,000 |
SSD:2,700 HDD:2,700 |
nam-eur-asia3 |
SSD:15,000 HDD:1,000 |
SSD:2,700 HDD:2,700 |
- [1]:
us-west1
和us-west2
只能提供一半的 QPS 效能,因為每個區域只包含一個副本,而非兩個。
每個地區都會提供讀取指南 (因為讀取作業可從任何地方提供),而寫入指南則適用於整個設定。讀取和寫入指南假設您是以每列 1 KB 的資料量讀取及寫入單一資料列。
針對 Spanner 執行一般工作負載
進行容量規劃時,請務必針對 Spanner 執行個體執行您自己的典型工作負載,以便找出應用程式的最佳資源分配方式。Google 的 PerfKit Benchmarker 使用 YCSB 進行雲端服務基準測試。您可以按照 Spanner 適用的 PerfKitBenchmarker 教學課程,為自己的工作負載建立測試。這麼做時,您應調整基準測試設定 yaml
檔案中的參數,確保產生的基準測試反映生產環境中的下列特徵:
- 資料庫總大小
- 結構定義 (例如:資料列鍵大小、資料欄數、資料列資料大小)
- 資料存取模式 (資料列鍵發布)
- 讀取與寫入的混合比例
- 查詢類型和複雜度
重現基準數字
如要重現基準測試結果,請按照「使用 PerfKit Benchmarker 進行 Spanner 基準測試」教學課程操作,並使用 throughput_benchmark
資料夾中的對應 yaml
檔案。
如要為經過效能提升的執行個體設定檔中的執行個體進行基準測試,請確保測試是在這些經過改良的執行個體設定檔中執行。
防範可用區和區域故障
在正式環境中執行工作負載時,請務必提供足夠的運算容量,以便在整個區域 (適用於區域執行個體) 或整個地區 (適用於雙區域和多區域執行個體) 遺失時,繼續提供流量。如要進一步瞭解建議的 CPU 上限,請參閱高 CPU 使用率快訊。
後續步驟
- 瞭解如何設計 Spanner 結構定義。
- 瞭解如何監控 Spanner 效能。
- 瞭解如何排解 Key Visualizer 問題。
- 瞭解 Spanner 定價。