空region数比较大,这个有影响吗,一般是什么情况下,会产生大量的空region

批量删除了吧

确定没有删除操作?再查查有没有空region规律

批量操作导致的后续会合并应该问题不大

可以拉长点,看下是不是每天没有合并完积累下来的,从库的pd调度需要加大

我们这边确实有几张大表是做的分区表,但是,分区表的分区字段是按照fld_area_guid进行hash。


我参考大佬的这个链接,看下如何能手工合并一下。

感谢这么多大佬给的指点和建议,我再排查一下。目前,还有2个问题:
1、设置了tikv的region大小以及自动分割大小后,空region会不会自动合并
2、目前,这套集群从库每个月的6号,都会对1张大表进行dumpling和lightning导入到新表中,中间会有drop操作,没有delete操作
3、研发那边反馈,最近有几个围合进行过删除操作,但是,这个empty region最近一个月内,一直保持在387k,说明近期的删除操作,不是主因。

是查看哪张表,TIKV_STORE_STATUS?

批量删除了

TIKV_REGION_STATUS

感觉应该是大批量删除导致的

  1. 从库是直接装的6.1.5还是升级上来的?
  2. 从库enable-cross-table-merge参数值是啥?

更正一下,主从库集群版本均为:v6.5.0版本,是从以前的v5.4.0升级上来的。

从库有tiflash吗?有label吗?

你这个region数那么多,手工合并不嫌累吗?手工合并需要先查出来region的相邻region。
用pd查
region sibling 2就是查2的相邻region,会有前后2个,任选1个merge

operator add merge-region 2 x 就是把 2 merge到 x
另外,region-merge相关的3个参数是:
max-merge-region-keys
max-merge-region-size
split-merge-interval
分别代表着 小于指定大小的region和分裂时间超过split-merge-interval 的才能merge

1 个赞

这个量级手工合并,确实很费劲。
那只能等它自动合并?已经持续有一段时间,没有看到自动合并的迹象,哈哈
我看看你说的这几个参数,尝试调整下,等它自动合并了

顺便看看pd的监控,有没有生成merge-operator,如果总不生成merge-operator也有问题。


2个参数均为0,1个参数为1h。这个是不是代表,无法自动合并merge呢?

那几乎是了,把这俩改成
“max-merge-region-keys”: 200000,
“max-merge-region-size”: 20,

那个interval 1h正常,是默认值。
看来你们要么是升级上来的,要么就是改过这个参数。

1 个赞

很奇怪,这几个参数,在2套集群,都是没有指定。但是,主库集群显示的是:


难怪主库那边只有200+个empty region。看来可能是这个原因了。谢谢

1 个赞