開啟dynamic-hz(動態hz)功能後,Tair(Redis OSS-compatible)執行個體會根據當前的串連數自動調整hz值(定期任務的執行頻率),可規避因每次定期任務掃描的串連數過多而造成的執行個體卡頓。
背景資訊
hz參數用於指定定期任務的執行頻率,這些任務包括關閉逾時的用戶端串連、主動清除到期Key等,更多資訊請參見調整定期任務的執行頻率。
在處理用戶端串連任務時,每個定期任務會掃描clients/hz
個串連。隨著執行個體串連數的增長,單次任務所掃描的串連數也會相應增長,若單次任務掃描的串連數過多,可能會導致執行個體卡頓,影響啟動並執行穩定性。
為了避免該問題,Redis社區從5.0開始引入了dynamic-hz功能,可根據當前的串連數自動調整hz值,防止每次任務掃描的串連數(clients/hz
)過多造成執行個體卡頓。
dynamic-hz的取值為yes
(開啟,預設值)和no
。當開啟dynamic-hz時,您原本設定hz值將作為基準值(configured_hz),而執行個體實際hz值會在基準值的基礎上根據已串連到執行個體的用戶端數量自動調整。串連的用戶端越多,實際hz值越高,執行個體執行定期任務的頻率就越高,此時也會加快其他定期任務的執行頻率,例如主動清除到期Key等。
您可以通過INFO命令擷取基準值和動態調整後實際的hz值。
前提條件
執行個體的版本為相容Redis 5.0或以上。
操作步驟
訪問執行個體列表,在上方選擇地區,然後單擊目標執行個體ID。
在左側導覽列中,單擊參數設定。
在參數列表中,單擊dynamic-hz右側操作列的修改。
在彈出的對話方塊中完成以下步驟。
選擇dynamic-hz的值。
單擊確定。
相關API
API介面 | 說明 |
查詢執行個體的配置參數和運行參數。 | |
修改執行個體的參數配置。 |