設定Serverless叢集資源擴縮策略
Serverless叢集支援自訂資源擴縮策略,以有效控制叢集資源的彈性擴縮上下限。此外,叢集還支援配置周期性策略,使您能夠在可預測的業務高峰(如促銷、流量峰值)前自動彈升保障效能,並在低穀期自動彈降釋放閑置資源。
彈性擴縮
彈性擴充觸發條件
縱向擴充(節點升配)
PolarDB主要監控主節點和唯讀節點的CPU使用率、記憶體使用量率和其他核心層面指標。在監控周期內,當單節點出現如下三種情況中的任意一種時,通常會觸發當前節點的縱向擴充:
CPU使用率高於預設閾值(預設值為80%)。
記憶體使用量率高於特定閾值:
Serverless形態
擴容閾值
Serverless叢集
90%
固定規格叢集的Serverless功能
小於等於32 GB
90%
64 GB
92%
128 GB
96%
256 GB~512 GB
98%
其他記憶體規格
不支援縱向擴充。
唯讀節點的規格小於主節點規格的一半。
例如,當一台唯讀節點的規格為4 PCU,而主節點的規格為10 PCU時,就會觸發這台唯讀節點資源的縱向擴充到不小於5 PCU的規格。
橫向擴充(增加節點)
當叢集中某個唯讀節點已經縱向擴充至設定上限,並且該唯讀節點仍然滿足縱向擴充的觸發條件(如CPU使用率高於自訂閾值),則會觸發唯讀節點的橫向擴充。
彈性收縮觸發條件
縱向收縮(節點降配)
當單節點的CPU使用率低於自訂閾值(預設值為50%),且記憶體使用量率低於特定閾值時,會觸發該節點的資源收縮。記憶體閾值如下:
Serverless形態
收縮閾值
Serverless叢集
80%
固定規格叢集的Serverless功能
小於等於32 GB
80%
64 GB
86%
128 GB
90%
256 GB~512 GB
94%
其他記憶體規格
不支援縱向擴充,即無收縮閾值。
橫向收縮(減少節點)
當叢集中某個唯讀節點的CPU使用率低於15%,且其餘唯讀節點的CPU使用率低於60%,並持續15分鐘~30分鐘時,會觸發該節點的收縮。
說明為防止節點抖動,每次僅會橫向收縮一個唯讀節點,並且連續收縮節點的靜默期為15分鐘~30分鐘。
若您希望立即收縮所有隻讀節點,可以通過修改Serverless配置實現。將唯讀節點個數伸縮上限與唯讀節點個數伸縮下限均設定為0,會立即觸發所有隻讀節點的收縮。
-
在不同的參數配置和Serverless配置下,用於判斷彈性擴縮的指標不同。您可以自訂CPU使用率的閾值,但無法更改其他指標的閾值。
-
當叢集的業務負載突增時,叢集的節點並不是一次性擴縮到對應規格,而是不斷地單次擴縮逐步接近當前負載的相應規格。單次擴縮的最小步長是0.5 PCU。為了能更快地適應當前業務流量,叢集下次擴縮的步長會根據當前的PCU自動進行調整,擴大調整的步長。
當叢集節點出現彈性收縮,若您想要感知到相應變化,可在控制台效能監控中配置警示規則,警示規則的詳細配置請參見設定彈性監控。
注意事項
Serverless叢集的最大串連數為100000,最大IOPS為84000。
Serverless叢集採用PCU(PolarDB Capacity Unit)作為秒級計費和資源彈性的管理單位,其中1 PCU約等於1核2 GB記憶體的標準服務能力。節點的PCU將根據業務負載在您設定的上下限範圍內進行動態調整,單次彈性的最小PCU單位為0.5 PCU。
設定Serverless配置參數
您可以登入PolarDB控制台,在左側導覽列單擊集群列表,選擇叢集所在地區,並單擊目的地組群ID進入叢集詳情頁。在基本信息頁面的数据库节点地區,單擊Serverless配置,進行配置。
配置當前參數
在设置Serverless配置参数對話方塊中,單擊編輯,設定相應參數。
當前參數
只读节点个数伸缩下限:設定允許唯讀節點增加的最小數量。取值範圍:0~15。
只读节点个数伸缩上限:設定允許唯讀節點增加的最大數量。取值範圍:0~15。
說明唯讀節點數量將根據實際業務負載在設定的下限與上限內自動增加或減少。詳細擴縮策略,請參見彈性擴縮。
為了實現Serverless叢集的高可用,建議將只读节点个数伸缩下限設定為1。
单节点资源弹升下限:設定叢集內每個節點的PCU數量下限。取值範圍:0.25 PCU~32 PCU。
单节点资源弹升上限:設定叢集內每個節點的PCU數量上限。取值範圍:1 PCU~32 PCU。
說明樣本:若您將单节点资源弹升下限設定為2 PCU,单节点资源弹升上限設定為16 PCU,則Serverless叢集內主節點與唯讀節點的預設規格為2 PCU(約等於2核4 GB的資源)。當系統檢測到業務負載增加時,將自動增加主節點或唯讀節點的PCU數量,但根據設定,最大隻能提升至16 PCU(約等於16核32 GB的資源)。
唯讀列存節點個數:設定允許唯讀列存節點的數量。取值範圍:0~15。
說明若需添加唯讀列存節點,請確保叢集中至少存在一個唯讀節點。即您需先將只读节点个数伸缩下限設定為1。
唯讀列存節點資訊,請參見列存索引(IMCI)。
是否开启无活动暂停:如果您的資料庫在某些時間段內沒有業務請求,您可以選擇開啟自動啟停功能。開啟後,在設定的无活动暂停的检测时长之內,如果叢集無Business Connectivity,則叢集自動進入暫停狀態。暫停期間,儲存空間仍隨用隨付。如果有任何Business Connectivity接入叢集,那麼叢集立刻自動啟動。
无活动暂停的检测时长:檢測時間長度為5分鐘到24小時,且必須是5分鐘的倍數。
進階配置
您可以根據當前Serverless叢集的資源壓力靈活調整進階配置參數。
弹性灵敏度:在靈敏模式下,Serverless資源對業務壓力負載的回應時間更短,即更短的觀察視窗和執行時間,選擇下拉框設定标准或灵敏。
CPU弹升阈值(最大值):設定叢集的CPU彈升閾值。取值範圍:40~100%。
CPU弹降阈值(最小值):設定叢集的CPU彈降閾值。取值範圍:10~70%。
說明CPU彈降閾值不能超過CPU彈升閾值(最小值 < 最大值),且CPU彈升閾值與CPU彈降閾值的差需要大於等於30(最大值 - 最小值 >= 30)。
靈敏模式適用於對瞬時負載波動(例如,CPU出現瞬時峰值)敏感的業務,需要在更短的時間內做出響應。然而,叢集也會根據負載波動情況頻繁進行彈升與彈降。
配置周期策略
周期策略通過預設時間規則(例如在特定時間段內每月、每周或每天的某個時間點),自動觸發叢集資源的擴縮容。該策略讓您在可預測的業務高峰(如促銷、流量峰值)前自動彈升保障效能,並在低穀期自動彈降釋放閑置資源。
請謹慎操作:
刪除Serverless周期策略時,無法撤銷當前策略內正在執行的任務,尚未執行的任務會被刪除。
如果在Serverless運行期間關閉Serverless功能,周期策略和定時任務將會被刪除。
在设置Serverless配置参数對話方塊中,單擊+添加周期策略。參數說明如下:
參數名稱
取值範圍
单节点资源弹升上限(最大值)
1~32 PCU。
单节点资源弹升下限(最小值)
1~32 PCU,且最小值 ≤ 最大值。
只读节点个数伸缩上限
0~15個可選。
只读节点个数伸缩下限
0~15個可選,且不能大於只读节点个数伸缩上限的值。
唯讀列存節點個數
0~15個可選。
起止时间
周期策略的有效時間區間。
周期策略定時時間
周期策略的定時時間設定。
每月:選擇在正数或倒数的特定天數及時間點進行執行。如果是多個天數,請用英文逗號
,隔開,例如1,3,5。每周:選擇周一至周日的特定天數及時間點進行執行。
每天:選擇每天特定時間點執行。
說明配置周期策略後,系統將在設定的起止时间內,按照周期策略定時時間調整叢集的Serverless配置參數。調整完成後,叢集的Serverless配置參數將不會自動回復。如需在特定時間點恢複原有配置參數,請另行設定一個周期策略。詳細樣本,請參見樣本。
(可選)查詢執行計畫。您可通過以下兩種方式查看:
說明周期性策略和定時任務之間是派生關係,即周期性策略建立後,會按照策略產生定時任務。
周期性策略建立後可在叢集詳細頁面查看。
在叢集詳情頁下方的等待執行計畫和失敗待重試任務地區,可查看周期性策略產生的任務記錄,包含任務ID、任務狀態、任務動作(如
ModifyDBClusterServerlessConf)、計划起始時間和計劃結束時間等資訊,並可對任務執行取消或修改計劃時間操作。請前往控制台任務管理下定時計劃任務查看。
在該頁面的工作清單中,可查看各定時任務的任務狀態(如等待執行中、取消等),並對狀態為等待執行中的任務執行取消操作。
樣本
情境描述:如果你想在8月1日至9月30日的每個工作日(例如:周一至周五)上午9點30分彈升資源5PCU,晚上10點彈縮資源1PCU執行循環策略,配置詳情如下表所示:
將單節點資源彈升上限和單節點資源彈升下限均設定為5 PCU,唯讀節點個數伸縮上限和唯讀節點個數伸縮下限均設定為5,完成配置後單擊確定。 | 在周期策略配置中,將單節點資源彈升上限和單節點資源彈升下限均設為1 PCU,唯讀節點個數伸縮上限和唯讀節點個數伸縮下限均設為1,單擊確定完成彈縮策略配置。 |