tikv经常被剔除,导致报错

这种只能限流?换更快的磁盘能不能解决?

现在不知道资源瓶颈在哪里?因为硬件资源还是有空余的。

  1. 检查热点
    https://docs.pingcap.com/zh/tidb/v4.0/troubleshoot-hot-spot-issues#确定存在热点问题

  2. 检查慢查询
    https://docs.pingcap.com/zh/tidb/v4.0/identify-slow-queries

  3. 升级版本到4.0.15
    可以有效的降低资源损耗

比如换NVME,那也只能解决一部分,
最好是硬件配置够,业务实现遵照最佳实践

可以直接升级到v5.2版本吗

测试环境随意啊~
生产环境要谨慎

我使用AUTO_RANDOM作为表的主键,热点问题不大。

现在单个tikv节点有10W个region,在不增加tikv的节点情况下,怎么减少数量?

增大region 可以包含的数量(region 默认是 96MB,可以配置最大容量 和 容纳最大的 keys,另外还有 Region Split 两个参数) ,不过这样不符合 Region raft 设计

最好增加节点

每个tikv实例只能存放3W个region,每个region 96M,这样算下来每个tikv实例只能存放300G数据,这个要是存几个T的数据库,得需要多少个TIKv实例啊

你算错拉,一般tikv 推荐配置 2 - 3 (TB) 的 高性能 SSD [NVME]
3W * 96 (MB) / 1024 / 1024 = 2.746 (TB)

一般的实例推荐也就放 2W个 region

不好意思,是我算错了。现在比较奇怪的是单个tikv数据量只有1T,但region数量达到了10W,我这边配置的region大小就是默认的96M。也没有看到多少空的region。

region 可以查的,你要怀疑 分布不均匀可以检查下
这个热点 region信息
https://docs.pingcap.com/zh/tidb/stable/information-schema-tidb-hot-regions#tidb_hot_regions

通过 select * from information_schema.TIKV_STORE_STATUS 可以查询 tikv storeid

store id 上表的读写排名情况 假设 id 分别是 x 和 y

SELECT count(*), r.db_name, r.table_name, r.type
FROM information_schema.tidb_hot_regions r
JOIN information_schema.TIKV_REGION_PEERS p ON r.REGION_ID = p.REGION_ID
WHERE p.store_id IN (x,y)
GROUP BY r.db_name, r.table_name, r.type
ORDER BY count(*) DESC
LIMIT 20;

查看集群中所有 TiKV 读写字节排名情况

SELECT
	ss.ADDRESS,
	h.type,
	p.store_id,
	sum(FLOW_BYTES),
	count(1),
	count(DISTINCT p.store_id),
	group_concat(p.region_id)  
FROM
	information_schema.TIDB_HOT_REGIONS h
JOIN information_schema.tikv_region_peers p ON h.region_id = p.region_id
AND p.IS_LEADER = 1
JOIN information_schema.TIKV_STORE_STATUS ss ON p.store_id = ss.store_id
GROUP BY
	h.type,
	p.store_id,
	ss.ADDRESS
ORDER BY
	sum(FLOW_BYTES) DESC;

通过这个可以查询所有table 的 region 的分布
https://docs.pingcap.com/zh/tidb/stable/sql-statement-show-table-regions#show-table-regions

这个可以获取准确的大小
https://docs.pingcap.com/zh/tidb/stable/tikv-control#查看-region-的大小

最后确认以下参考的配置信息


https://docs.pingcap.com/zh/tidb/stable/tikv-configuration-file#region-max-keys

这样基本上可以判断分布是否均匀了

这个参数能在v4.0.15版本打开吗?

实验特性的最好不要在生产上开启…

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