資源調度
調整叢集大小是指因應叢集工作負載或資料儲存空間需求變化,在叢集中新增或移除節點的程序。
您可以透過下列方式調度 Bigtable 集群:
- 自動調度資源
- 手動分配節點
在大多數情況下,請選擇自動調度資源。為叢集啟用自動調度資源功能後,Bigtable 會持續監控叢集,並根據您的設定自動調整節點數量。
您可以根據叢集的 CPU 使用率等指標,調整 Bigtable 叢集的大小。舉例來說,如果叢集負載過重且 CPU 使用率偏高,您可以為叢集新增節點,直到 CPU 使用率下降為止。如果叢集使用率不高,您也可以移除節點來節省費用。
節點資源調度係數
建立 Bigtable 叢集時,您可以選擇設定叢集,並採用節點 2 倍的縮放比例。選擇這項設定時,Bigtable 會將兩個標準節點視為一個較大的單一運算節點,且叢集一律會以兩個節點為增量進行擴充。因此叢集中的節點之間運算界線較少。視工作負載而定,節點擴充 2 倍的好處包括:
- 提升總處理量和尾端延遲穩定性
- 更強大的熱點吸收能力
使用Google Cloud 控制台或 gcloud CLI 時,您可以建立啟用 2 倍節點縮放比例因子的叢集。
您可以透過自動調整資源配置或手動節點分配,設定 2 倍的節點調度。
如需相關限制,請參閱「節點資源調度係數限制」一節。
小型叢集
節點擴充 2 倍最適合較大的工作負載。如果您考慮將標準節點縮放 (縮放係數為 1) 改為 2 倍節點縮放,請考量成本影響。如果工作負載較小,例如在單一節點叢集上執行,使用 2 倍節點擴縮的成本就會是兩倍。同樣地,如果工作負載先前是在 3 個節點的叢集上執行,現在使用 2 倍的節點擴縮功能,費用就會增加 33%。
另一方面,如果工作負載先前是在大型叢集上執行 (例如 50 個節點的叢集),相較於節點數量,2 倍的節點調度資源係數影響不大。
如果您嘗試在不支援的區域中建立叢集,且節點縮放比例為 2 倍,Bigtable 會傳回錯誤。
限制
叢集擴縮作業會受到節點可用性的影響,需要一段時間才能完成,無法彌補不當的結構定義設計,且必須逐步進行。以下各節將說明這些限制,以及適用於節點 2 倍擴充的限制。
節點可用性
無論叢集是否啟用手動節點配置或自動調整資源配置,都適用節點配額。詳情請參閱「配額和節點可用性」。
節點重新平衡時發生延遲
您新增節點至叢集後,可能需要 20 分鐘進行載入,叢集效能才會大幅提升。因此,如果工作負載涉及短時間內的高活動量,根據 CPU 負載在叢集中新增節點並不會提升效能,因為 Bigtable 重新平衡資料時,短時間內的高活動量已結束。
為因應這段延遲時間,您可以在叢集上增加節點,方法是透過程式輔助或 Google Cloud 控制台,先增加叢集負載。這樣一來,Bigtable 就能在工作負載增加前,有時間在額外節點間重新平衡資料。在手動節點分配的叢集上,變更節點數量。在採用自動調度資源的叢集上,變更節點數量下限。流量恢復正常後,請將節點設定改回原狀。
因縮減速度過快而導致延遲增加
縮減叢集中的節點數量時,請盡量不要在 10 分鐘內將叢集大小縮減超過 10%。如果叢集中剩餘的節點暫時超載,縮減速度過快可能會導致效能問題,例如延遲時間增加。
結構定義設計問題
如果資料表的結構定義設計有問題,在 Bigtable 叢集中新增節點可能無法提升效能。舉例來說,如果您對資料表中的單一資料列進行大量讀取或寫入作業,所有讀取或寫入作業都會傳送至叢集中的相同節點;因此,新增節點無法提升效能。相反地,如果讀取及寫入平均分佈在表格的各列之中,新增節點通常就能提升效能。
如要進一步瞭解如何設計結構定義,讓 Bigtable 能有效進行資源調度,請參閱「設計結構定義」。
節點資源調度係數限制
您無法將使用標準節點縮放的叢集轉換為使用 2 倍節點縮放,必須建立新叢集,並在建立時啟用 2 倍節點縮放。如要進一步瞭解如何將叢集新增至執行個體,請參閱「修改執行個體」。
您無法為 HDD 叢集設定 2 倍節點調度。
您可以在每個 Bigtable 區域中建立設定為 2 倍節點資源調度的叢集,但無法在每個區域中建立。下列區域無法包含節點擴充 2 倍的叢集:
- asia-south1-c
- europe-central2-c
- me-central2-b
- me-central2-c
- northamerica-northeast1-a
- northamerica-northeast1-b
- southamerica-east1-c
- us-south1-b
- us-south1-c
後續步驟
- 瞭解 Bigtable 自動調度資源。
- 瞭解如何透過程式或 Google Cloud 控制台監控執行個體。