成效總覽

本頁面說明 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-central1us-east1 為 15,000 個,us-west1us-west2 為 7,500 個。HDD:us-central1us-east1 為 1,000 個,us-west1us-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-west1us-west2 只提供一半的 QPS 效能,因為每個區域只包含一個備援資源,而非兩個。

每個地區都會提供讀取指南 (因為讀取作業可從任何地方提供),而寫入指南則適用於整個設定。讀取和寫入指南假設您是以每列 1 KB 的資料量讀取及寫入單一資料列。

在 Spanner 上執行一般工作負載

進行容量規劃時,請務必針對 Spanner 執行個體執行您自己的一般工作負載,以便找出最適合應用程式的資源分配方式。Google 的 PerfKit Benchmarker 會使用 YCSB 基準測試雲端服務。您可以按照 Spanner 適用的 PerfKitBenchmarker 教學課程,為自己的工作負載建立測試。在進行這項操作時,請調整基準測試設定 yaml 檔案中的參數,確保產生的基準測試能反映實際環境中的下列特性:

重現基準測試數字

如要重現基準測試數據,請使用 throughput_benchmark 資料夾中的對應 yaml 檔案,按照「使用 PerfKit Benchmarker 對 Spanner 進行基準測試」教學課程的說明操作。

如要針對經過效能改善的執行個體設定基準測試,請務必在經過改善的其中一個執行個體設定中執行測試。

可用區和區域故障保護機制

在實際環境中執行工作負載時,請務必配置足夠的運算容量,以便在整個區域 (區域執行個體) 或整個區域 (雙區域和多區域執行個體) 發生故障時,繼續提供流量。如要進一步瞭解建議的 CPU 使用率上限,請參閱「高 CPU 使用率快訊」。

後續步驟