規模調整和部署建議

本文提供工作負載和部署建議,協助您根據線上交易處理 (OLTP) 和線上分析處理 (OLAP) 工作負載,調整 AlloyDB for PostgreSQL 執行個體的大小。

總覽

為協助您提升資料庫效能,AlloyDB for PostgreSQL 提供下列內建功能:

  • 自動記憶體管理
  • 自動調整自動真空
  • 最佳化內建效能設定
  • 複製延遲時間短
  • 維護作業不會中斷服務,擴充作業期間主要節點的停機時間不到一秒,讀取集區節點則完全不必停機

如要調整 AlloyDB for PostgreSQL 執行個體效能,請管理下列項目:

  • 正確調整主要和讀取集區執行個體的大小
  • 更新會影響效能的旗標

大小注意事項

調整 AlloyDB for PostgreSQL 執行個體大小前,請先判斷下列事項:

  • 工作負載類型:OLTP、OLAP 或 HTAP
  • 效能需求:延遲和總處理量需求
  • 預期資料大小:您打算儲存在 PostgreSQL 適用的 AlloyDB 中的資料大小,以及 作用中資料集大小
  • 工作負載規模:資料大小隨時間增加或成長

OLTP 工作負載

您可以將 AlloyDB for PostgreSQL 資料庫部署為區域執行個體 (單一節點),或是高可用性執行個體 (每個區域有兩個節點)。此外,您也可以視需要新增讀取集區執行個體,以及位於其他區域的次要叢集,以處理地理位置分散的工作負載,或用於災難復原 (DR)。

PostgreSQL 適用的 AlloyDB 採用雲端規模的分散式架構,並將運算和儲存資源分離。只要預先寫入記錄 (WAL) 檔案保留在區域儲存空間,系統就會確認寫入作業,而區塊具體化作業則會卸載至儲存空間。

同樣地,透過多層快取架構,資料會自動放置在緩衝區快取、極速快取和智慧儲存引擎之間。由於 PostgreSQL 適用的 AlloyDB 使用這種多層快取架構,因此在 PostgreSQL 適用的 AlloyDB 中,每秒輸入/輸出作業數 (IOP) 與其他資料庫系統的比較並不相關。

不過,使用每秒交易數 (TPS)/每分鐘交易數 (TPM) 進行有意義的比較,有助於瞭解 AlloyDB for PostgreSQL 可處理的資料量。

主要大小調整指標是 TPS。如要估算所需的 AlloyDB for PostgreSQL 大小,請按照下列步驟操作:

  1. 找出現有的工作負載。如果您是從自行管理的 PostgreSQL 或其他商用資料庫遷移,可能已經有現有工作負載的 TPS 值。
  2. 分析查詢。找出工作負載中最關鍵的查詢,並判斷其效能需求。
  3. 使用 HammerDBpgbench 等工具。這些工具可協助您評估 AlloyDB for PostgreSQL 的基準,並判斷機器大小是否符合 TPS 需求。
  4. 使用 AlloyDB for PostgreSQL OLTP 基準化指南。本指南提供各種 AlloyDB for PostgreSQL 設定的效能資料,協助您找出符合 TPS 需求的設定。
  5. 選擇適當的 AlloyDB for PostgreSQL 大小。請考量目前的資料大小和未來的成長預期。

機器大小規範

下表顯示 TPC-C 基準化資料的建議,讀取/寫入比率約為 65% 讀取和 35% 寫入。調整 AlloyDB for PostgreSQL 執行個體大小時,您必須將 CPU 使用率維持在 60% 到 70% 左右,以免作業系統排程負擔過重。這可為用戶端應用程式的資源用量尖峰提供一些緩衝空間。

vCPU/記憶體 建議交易數/秒
範圍 (30% 已快取)
建議的工作
資料大小 (總大小最多 128 TB)
建議的 max_connections
2 / 16GB 最多 1,000 個 最多 100 GB 1000
4 / 32GB 最多 2,500 人 最多 250 GB 2000
8/ 64GB 最多 4,000 個 最多 500 GB 4000
16 / 128GB 最多 8,000 個 最高 1 TB 5000
32 / 256GB 最多 14,000 個 最多 3 TB 5000
64 GB / 512 GB 最多 20,000 個 最多 8 TB 5000
96 / 768GB 最多 25,000 個 最多 16 TB 5000
128 GB / 864 GB 大於 20,000 最多 32 TB 5000

部署類型

您可以根據工作負載,只將 PostgreSQL 適用的 AlloyDB 部署為主要執行個體,或部署為主要執行個體並搭配讀取集區執行個體。

僅限主要

下列工作負載只能選擇主要部署作業:

  • 寫入量大,讀取量中等
  • 讀取量大但寫入量小的查詢
  • 典型的 OLTP 讀寫作業 (60% 至 70% 的讀取作業,30% 至 40% 的寫入作業)。

如要進一步瞭解機器類型,請參閱一般機器大小指南

具備讀取集區執行個體的主要執行個體

如果選擇部署具備讀取集區執行個體的主要執行個體,請注意下列事項:

  • 如果讀取作業對延遲時間很敏感,請考慮將讀取查詢作業卸載至讀取集區執行個體。您最多可以在所有讀取集區執行個體中設定 20 個節點。詳情請參閱建立讀取集區執行個體
  • 如果您有多個資料庫 (例如同一執行個體中的 CRM 或財務),請設定多個讀取集區執行個體。使用這項策略有助於有效快取及提升查詢效能。
  • 您可以根據需求,為主要和讀取集區執行個體設定不同大小。如要進一步瞭解讀取集區執行個體的最佳做法,請參閱「改善 AlloyDB 效能和可用性的最佳做法」。
  • 為每個讀取集區執行個體新增多個節點,確保高可用性。
  • 在特定讀取集區執行個體中選擇性啟用資料欄引擎,提升讀取查詢效能。您不必在主要執行個體上啟用資料欄引擎。

建議使用索引建議工具等內建功能,新增可提升查詢效能的索引。

OLAP 工作負載

對於 OLAP 工作負載,主要大小調整指標是查詢效能,尤其是需要完整資料表掃描或匯總的查詢。PostgreSQL 適用的 AlloyDB 內建資料欄引擎,可加快分析查詢的速度。預設啟用直欄式引擎會耗用 30% 的記憶體,並自動使用超快速快取資料。

如要進一步瞭解如何使用 TPC-H 工作負載,透過 AlloyDB for PostgreSQL 評估 OLAP 效能,請參閱 AlloyDB for PostgreSQL for PostgreSQL OLAP 基準化指南

部署類型

您可以根據工作負載,只將 PostgreSQL 適用的 AlloyDB 部署為主要執行個體,或部署為主要執行個體並搭配讀取集區執行個體。

僅限主要

如果部署僅限主要執行個體的執行個體,請注意下列事項:

  • 這個部署作業可用於交易和分析查詢 (HTAP)。
  • 啟用資料欄引擎,協助處理 OLAP 查詢。
  • 建議部署 16 個以上 vCPU 的機器,提供更多記憶體來儲存資料欄資料。

具備讀取集區的主要執行個體

如果您部署具備讀取集區執行個體的主要執行個體,請注意下列事項:

  • 如果您需要大量寫入,且對延遲時間敏感的分析讀取作業有低延遲需求,請部署啟用高可用性的主要執行個體,以及讀取集區執行個體。
  • 在執行分析查詢的讀取集區執行個體中啟用資料欄引擎。
  • 如果您有多個資料庫 (例如同一執行個體中的 CRM 或財務),請設定多個讀取集區執行個體。使用這項策略有助於有效快取及提升查詢效能。
  • 您可以根據需求,為主要和讀取集區執行個體設定不同大小。如要進一步瞭解讀取集區執行個體的最佳做法,請參閱「改善 AlloyDB 效能和可用性的最佳做法」。
  • 為每個讀取集區執行個體新增多個節點,確保高可用性。
  • 在特定讀取集區執行個體中選擇性啟用資料欄引擎,提升讀取查詢效能。您不必在主要執行個體上啟用資料欄引擎。

後續步驟