TiDB集群的某一个TiKV节点的QPS比另外两个TiKV节点的QPS高出好几倍,见图1:
图1
该TiKV节点上的热点region leader也远高于另外两个TiKV节点,见图2:
图2
这种情况应该怎么让热点的region重新平衡,让这些热点leader平均分布到3个TiKV节点上去
【 TiDB 使用环境`】生产环境
【 TiDB 版本】4.0.10
【遇到的问题】如上描述
TiDB集群的某一个TiKV节点的QPS比另外两个TiKV节点的QPS高出好几倍,见图1:
该TiKV节点上的热点region leader也远高于另外两个TiKV节点,见图2:
这种情况应该怎么让热点的region重新平衡,让这些热点leader平均分布到3个TiKV节点上去
【 TiDB 使用环境`】生产环境
【 TiDB 版本】4.0.10
【遇到的问题】如上描述
有热点,先看下慢SQL,dashboard的流量可视化可以看哪个表热点比较严重
热点表找到了,就是不知道怎么把热点表region的leader散开
相关SQL还能优化吗,手动split region;
https://docs.pingcap.com/zh/tidb/v6.0/sql-statement-split-region#split-region-使用文档
这个表是从mysql上同步过来的,用的是字符串作主键,sql没什么优化空间,除非改造业务
字符串主键的表可以用shard_rowid_bits方式打散,需要重建表
好的,非常感谢
我一般这么切:
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
好的,非常感谢
此话题已在最后回复的 1 分钟后被自动关闭。不再允许新回复。