empty-region-count 问题的解决

我们现有2个tidb环境:

生产环境:使用DM-Ansible部署的tidb集群
【TiDB 版本】:3.0.13

测试环境:单机docker部署
【TiDB 版本】:3.0.12

俩个环境,监控都出现以下情况:

自己在TUG在进行搜索,搜索到了以下解决方法:
merge 默认情况下表之间是不会相互 merge 的,如果要开启,更改 PD 配置文件,加上 namespace-classifier = “default” (默认是 table), 注:这个参数不能通过 pd-ctl 动态更改。同时,需要将 tikv 的按 table 分裂配置关闭: [coprocessor] split-region-on-table = false

然后我再我们测试环境进行了修改 ,并重启了tidb

  • namespace-classifier = “default”

*[coprocessor] split-region-on-table = false

但是经过了12个小时,测试环境的empty-region-count 还是没有什么变化,和上面图中数量是一样的。

  1. 主要参考这里 https://pingcap.com/docs-cn/v3.0/reference/best-practices/pd-scheduling/#region-merge-速度慢

  2. 请问你是在哪里的配置文件修改的? 麻烦发下路径多谢。 如何增加的配置文件,上传或者截图,这个配置,多谢。

  3. 重启tidb,是如何操作的? 麻烦发下命令,多谢。

  4. 麻烦上传 pd 监控信息

  1. merge-schedule-limitregion-schedule-limit没有进行修改,使用的是默认值

  2. pd.yml文件的操作如图:

    tikv配置文件的操作如图:

  3. docker重启命令操作:

  4. pd监控图:

你好,

关于空 region 有几点吧

  1. TiKV: split-region-on-table 设为 false ,该参数不支持动态修改
  2. PD: namespace-classifier 设为 "default" ,该参数不支持动态修改
  3. 要启用 region merge,请将以下参数设置为非零值,可以通过 pd-ctl 查看下:
  • max-merge-region-size
  • max-merge-region-keys
  • merge-schedule-limit


https://pingcap.com/docs-cn/stable/reference/best-practices/massive-regions/#-region-merge

  1. 请检查下 pd.log 里 和 tikv.log 里启动时,参数生效了吗?
  2. pd 的监控是否能反馈完整?

你好,查看log,参数是修改过来的。


麻烦参考上面的排查思路,先查看当前参数值记录下,然后修改参数值,试试