【 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
迁移到其他实例上去
【 TiDB 使用环境】
【 TiDB 版本】
【遇到的问题】
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: 4
→ hot-region-schedule-limit: 10
split.qps-threshold: 3000
→ split.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分区等方式
感觉 这个就是热点处理的 万能步骤
这个步骤或者方案的确是万能步骤
此话题已在最后回复的 60 天后被自动关闭。不再允许新回复。