自動調(diào)整Redis定期任務(wù)的執(zhí)行頻率
開啟dynamic-hz(動態(tài)hz)功能后,云數(shù)據(jù)庫 Tair(兼容 Redis)實例會根據(jù)當(dāng)前的連接數(shù)自動調(diào)整hz值(定期任務(wù)的執(zhí)行頻率),可規(guī)避因每次定期任務(wù)掃描的連接數(shù)過多而造成的實例卡頓。
背景信息
hz參數(shù)用于指定Tair定期任務(wù)的執(zhí)行頻率,這些任務(wù)包括關(guān)閉超時的客戶端連接、主動清除過期Key等,更多信息請參見調(diào)整Redis定期任務(wù)的執(zhí)行頻率。
在處理客戶端連接任務(wù)時,每個定期任務(wù)會掃描clients/hz
個連接。隨著實例連接數(shù)的增長,單次任務(wù)所掃描的連接數(shù)也會相應(yīng)增長,若單次任務(wù)掃描的連接數(shù)過多,可能會導(dǎo)致實例卡頓,影響運行的穩(wěn)定性。
為了避免該問題,Redis社區(qū)從5.0開始引入了dynamic-hz功能,可根據(jù)當(dāng)前的連接數(shù)自動調(diào)整hz值,防止每次任務(wù)掃描的連接數(shù)(clients/hz
)過多造成實例卡頓。
dynamic-hz的取值為yes
(開啟,默認(rèn)值)和no
。當(dāng)開啟dynamic-hz時,您原本設(shè)置hz值將作為基線值(configured_hz),而Tair服務(wù)中的實際hz值會在基線值的基礎(chǔ)上根據(jù)已連接到Tair的客戶端數(shù)量自動調(diào)整。連接的客戶端越多,實際hz值越高,Tair執(zhí)行定期任務(wù)的頻率就越高,此時也會加快其他定期任務(wù)的執(zhí)行頻率,例如主動清除過期Key等。
您可以通過INFO命令獲取基線值和動態(tài)調(diào)整后實際的hz值。
前提條件
實例的版本為Redis 5.0或以上。
操作步驟
訪問Redis實例列表,在上方選擇地域,然后單擊目標(biāo)實例ID。
在左側(cè)導(dǎo)航欄中,單擊參數(shù)設(shè)置。
在參數(shù)列表中,單擊dynamic-hz右側(cè)操作列的修改。
在彈出的對話框中完成以下步驟。
選擇dynamic-hz的值。
單擊確定。
相關(guān)API
API接口 | 說明 |
查詢Redis實例的配置參數(shù)和運行參數(shù)。 | |
修改Redis實例的參數(shù)配置。 |