規模調整和部署建議

本文提供工作負載和部署建議,協助您根據線上交易處理 (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. 使用 HammerDB 或 pgbench 等工具。這些工具可協助您評估 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 效能和可用性的最佳做法」。
  • 為每個讀取集區執行個體新增多個節點,確保高可用性。
  • 在特定讀取集區執行個體中選擇性啟用資料欄引擎,提升讀取查詢效能。您不必在主要執行個體上啟用資料欄引擎。

後續步驟