[FAQ] 如何开启 静默 region or hibernate region

[问题澄清]

当集群中存在大量 region 时,你会观察到 raft store cpu 消耗很高,通常超过默认值*80% 就已经很高了

在 2.0 版本的默认配置中,raft store cpu 上限为 100%

在 3.0 版本的默认配置中,raft store cpu 上限为 200%

这时的解决方案可以是开启 静默region,会迅速降低大量的 raft store cpu 消耗

[注意事项]

  1. 需要在 3.0 以后的版本中开启
  2. 需要滚动重启 TiKV ,请在业务低峰期操作

[参数说明]

raftstore.hibernate-regions ( 实验特性 )

  • 打开或关闭静默 Region。打开后,如果 Region 长时间处于非活跃状态,即被自动设置为静默状态。静默状态的 Region 可以降低 Leader 和 Follower 之间心跳信息的系统开销。可以通过 raftstore.peer-stale-state-check-interval 调整 Leader 和 Follower 之间的心跳间隔。
  • 默认值:false

https://github.com/tikv/tikv/blob/master/docs/reference/configuration/raftstore-config.md

[操作步骤]

(1)使用 ansible 开启静默 region 步骤:

  1. 在中控机安装目录 <deploy_dir>/conf 找到 tikv.yml 文件,vi 编辑文件,找到 raftstore
    image
  2. 注意对齐格式在下方添加参数 hibernate-regions: true,注意: 和 ture 有空格,以及对齐
    image
  3. 添加参数后,需要重启 tikv 生效,在中控机目录下滚动重启 tikv
    su - tidb
    cd <deploy_dir>/tidb-ansible
    ansible-playbook rolling_update.yml -t tikv

(2)使用 Tiup 安装步骤

  1. 在中控机执行 tiup cluster eidt-config <cluster_name>, 例如
    image
  2. 在 server_configs 下增加参数 raftstore.hibernate-regions: true
    image
  3. 确认更改, 输入 y ,
  4. 根据提示执行 tiup cluster reload <cluter_name> -R tikv,例如
    image

tiup 方式更改 show config里还是看不到raftstore.hibernate-regions参数