线上tidb集群是否存在regions分配不均匀的情况,需要怎么操作

leader/region 调度

  1. leader 和 region 的分布 都是根据 对应的 score来调度的,和 leader 和 region count 无关
  2. 影响 region score 的因素是 region 的 size 和 盘的剩余容量,这里的 size 是估值,大概占物理盘的大小和
  3. 影响 leader score 的因素是 leader 的 size 和 盘的剩余容量无关,这里的 size 是估值,大概占物理盘的大小和
  4. 最终目的是 score 均匀接近

看起来是符合我们调度策略的。

从监控来看,一直有一个 region 读流量较大,可以尝试使用 split_hot_region.py 脚本来查看下,这个热点 region 的相关信息。初步估计是有小表热点。

可以使用我们 pre split 功能:https://pingcap.com/docs-cn/v3.0/reference/sql/statements/split-region/#pre_split_regions