本頁面說明 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 的資料量寫入單一資料列。
使用 throughput optimized writes 可透過 100 毫秒的批次延遲時間,達到寫入尖峰效能。
一般來說,如果您在執行個體中增加更多運算資源 (節點或處理單元),Spanner 執行個體的讀取和寫入吞吐量都會以線性方式擴充。舉例來說,如果單一區域 Spanner 執行個體含有 2 個節點,每秒最多可提供 45,000 次讀取,那麼單一區域 Spanner 執行個體含有 4 個節點,每秒最多可提供 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 |
如果地區執行個體設定允許選用的唯讀備用資源,選用的唯讀備用資源可支援 SSD 儲存空間每秒 7,500 次讀取,以及 HDD 儲存空間每秒 500 次讀取。
雙區域設定的效能
在雙區域執行個體設定中,每 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 |
SSD:us-central1 和 us-east1 為 15,000 個,us-west1 和 us-west2 為 7,500 個。HDD: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
檔案中的參數,確保產生的基準測試能反映實際環境中的下列特性:
- 資料庫的總大小
- 架構 (例如:資料列索引鍵大小、欄數、資料列資料大小)
- 資料存取模式 (資料列索引鍵分發)
- 讀取與寫入作業的混合
- 查詢的類型和複雜度
重現基準測試數字
如要重現基準測試數據,請使用 throughput_benchmark
資料夾中的對應 yaml
檔案,按照「使用 PerfKit Benchmarker 對 Spanner 進行基準測試」教學課程的說明操作。
如要針對經過效能改善的執行個體設定基準測試,請務必在經過改善的其中一個執行個體設定中執行測試。
可用區和區域故障保護機制
在實際環境中執行工作負載時,請務必配置足夠的運算容量,以便在整個區域 (區域執行個體) 或整個區域 (雙區域和多區域執行個體) 發生故障時,繼續提供流量。如要進一步瞭解建議的 CPU 使用率上限,請參閱「高 CPU 使用率快訊」。
後續步驟
- 瞭解如何設計 Spanner 結構定義。
- 瞭解如何監控 Spanner 效能。
- 瞭解如何排解 Key Visualizer 問題。
- 瞭解 Spanner 定價。