首页/数据/Redis 进阶速查/dynamic-hz:自适应频率
性能与排障129 条

dynamic-hz:自适应频率

dynamic-hz(默认 yes)让 Redis 在客户端多时提高后台任务频率、空闲时降低,平衡响应与开销。

Redis 进阶速查数据更新于 2026-10-13

dynamic-hz 做什么

dynamic-hz 默认开启,让 Redis 根据连接数与负载动态调整后台任务频率:负载高时提高频率,空闲时降低,在响应及时性与 CPU 开销之间自动找平衡。关闭后频率固定按 hz 配置执行。它影响的是 serverCron 这类后台工作——过期键清理、客户端超时检测与统计刷新的节奏,不改变命令执行路径。

基本信息

默认值yes(开启)
行为随连接数与负载自适应调整频率
关闭效果固定按 hz 配置值执行
影响范围serverCron 类后台任务,不涉及命令执行路径
观测方式INFO cpu 与延迟趋势,短窗口内难以察觉差异

典型使用场景

  • 保持默认:多数场景让系统自行平衡,运维无需干预
  • 延迟敏感实例:理解空闲期频率下降对过期清理及时性的影响
  • 成本敏感场景:空闲时段降低后台活动,减少不必要的 CPU 唤醒
  • 波动解读:自适应调整让曲线变化更平滑,别当作异常信号
  • 排查对照:确认关闭自适应后现象是否发生变化

查看与对照

查看与对照
redis-cli CONFIG GET dynamic-hz          # 当前是否开启
redis-cli CONFIG GET hz                  # 基础频率配置
redis-cli INFO cpu                       # 各类任务的 CPU 时间占比
redis-cli INFO stats | grep instantaneous_ops_per_sec   # 负载对照
redis-cli --latency-history -i 15        # 长时间看延迟趋势,而非瞬时值

开关对照

配置负载高时负载低时
开启自适应提高频率,响应更及时降低频率,省下 CPU
关闭自适应按 hz 固定频率执行同样固定,空闲开销不降
hz 调高且关闭自适应响应最及时空闲期仍高频,开销固定
hz 默认且开启自适应自动适配自动适配
自适应机制下延迟曲线的变化窗口更平滑,观察趋势比盯瞬时值更有意义;比较配置影响时至少覆盖一个完整业务周期。
把自适应带来的频率波动当成异常去排查,会消耗大量精力却找不到问题;先确认波动与负载变化的时间关系。

易错点

  • 关闭自适应后空闲期开销固定:资源利用率下降,长期多耗 CPU
  • 把自适应波动当异常指标解读:排查方向从一开始就偏了
  • 只看短窗口数据:自适应调整的效果需要时间才能显现
  • 同时改动 hz 与 dynamic-hz 再对比:两个变量一起动,归因无从下手

数据来源与参考

  • Redis 官方文档:dynamic-hz 说明
​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌