TiDB集群里,某一个tikv节点的QPS特别的高

TiDB集群的某一个TiKV节点的QPS比另外两个TiKV节点的QPS高出好几倍,见图1:


图1

该TiKV节点上的热点region leader也远高于另外两个TiKV节点,见图2:


图2

这种情况应该怎么让热点的region重新平衡,让这些热点leader平均分布到3个TiKV节点上去

【 TiDB 使用环境`】生产环境
【 TiDB 版本】4.0.10
【遇到的问题】如上描述

2 Likes

有热点,先看下慢SQL,dashboard的流量可视化可以看哪个表热点比较严重

1 Like

热点表找到了,就是不知道怎么把热点表region的leader散开

1 Like

相关SQL还能优化吗,手动split region;
https://docs.pingcap.com/zh/tidb/v6.0/sql-statement-split-region#split-region-使用文档

1 Like

这个表是从mysql上同步过来的,用的是字符串作主键,sql没什么优化空间,除非改造业务

1 Like

字符串主键的表可以用shard_rowid_bits方式打散,需要重建表

1 Like

好的,非常感谢

1 Like

我一般这么切:

SPLIT TABLE t BETWEEN (min_rowid) AND (max_rowid) REGIONS 8; //rowid均匀切分

rowid范围可以这么查出来:

select _tidb_rowid from table order by _tidb_rowid [desc] limit 1

2 Likes

好的,非常感谢

1 Like

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