Hot Read Region Leader分布不均匀,导致TiKV CPU Load负载严重倾斜

【 TiDB 使用环境】

  • 生产环境

【 TiDB 版本】

  • v4.0.12

【遇到的问题】

  • Hot Read Region Leader分布不均匀,导致TiKV CPU Load负载严重倾斜

  • 监控如下:

  • 调整过参数:
    hot-region-schedule-limit": 4
    hot-region-cache-hits-threshold": 3

  • 怎么调整
    如何将hot read region迁移到其他实例上去

把Load Base Split的2个配置往小调,hot-region-schedule-limit往大调

https://docs.pingcap.com/zh/tidb/stable/configure-load-base-split

嗯,我尝试下

1.整体的QPS不是很高,如下

2.按照上面的这种方式:
hot-region-schedule-limit: 4hot-region-schedule-limit: 10
split.qps-threshold: 3000split.qps-threshold: 400

hot region看,并没有transfer read leader

看下 tikv detail - thread cpu中 coprocessor 、read pool的CPU利用率。检查下慢SQL 。

热点问题能想到的方法:
1、 pd-ctl operator 手动转移hot region到 不忙的节点,hot region可以通过pd-ctl hot region 或tikv_hot_region(大概是这2个名字)查看top read region
2、使用pd-ctl operator 手动split 热点region 然后等待调度 ,对于集中在某些key上的热点 split应该有效
3、看看leader分布是不是均匀,有没有设置leader weight啥的导致分布不均匀
4、 表可以添加scatter调度 让所有region均匀分布到所有节点上,适合热点region比较多 ,但有时scatter调度可能不好使
5、 使用shuffe leader调度 让他随机交换,但是开启后马上就关 否则随机leader调度严重影响性能
6、调整表结构auto_random shard_rowid_bits hash分区等方式

1 个赞

感觉 这个就是热点处理的 万能步骤

这个步骤或者方案的确是万能步骤:+1:

此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。