tikv 一个节点写入流量大

为什么请求都在其中一个tikv节点?写入的原理是怎么判断一个写入,选择哪个tikv去写?

其他的2个节点,都是10-20M左右,上图是100M

从dashboard上看看热点是哪个表

可以看到哪个表,主要是想为什么请求都在一个tikv

https://docs.pingcap.com/zh/tidb/stable/troubleshoot-hot-spot-issues#表热点
参考下这里,是用的自增主键吗

不是自增,原理是怎么判断,新增的insert选择哪个tikv进行操作?
比如写满一个region,是写到96M,然后申请一个空的region设置为leader region写入
还是写一个region到140M,分裂为2个70M的region,选择其中一个进行写入?

默认超过144MB会进行分裂

新表没有做打散的话,region在一个节点,就会体现在一个节点热点

写入是在不断地分裂中,再次写入吗? 如果这样文件不是很难到达96M
分裂后如果平均分割,那就都是70M左右的文件了?
什么场景下会申请空region(非手动指定)?

可以看看这个,聚簇表建议用auto_random和split region,非聚簇表用 SHARD_ROW_ID_BITSPRE_SPLIT_REGIONS
https://docs.pingcap.com/zh/tidb/v6.5/high-concurrency-best-practices#高并发批量插入场景

region是逻辑概念,我理解如果不是新表预切分这种,没有申请空region这个动作,region也不是一开始就划分好去申请的,而是随着数据写入达到分裂条件逐渐分裂生成的。建议还是看看热点表的表结构,根据表结构去打散。

我再研究一下细节,感谢

按我的理解,新增的数据应该会找到最大的id(如int型)所在的tikv的region,设置为leader region,然后进行有序的写入
这样可以保障数据的连续(顺序读),类似mysql的索引链,总不能pd保存了所有的key,但是可以保存各各region的tb_r的key区间

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