gc是否会导致tidb server负载上升

【TiDB 使用环境】生产环境
【TiDB 版本】v7.5.6
【遇到的问题:问题现象及影响】
gc是否会导致tidb server节点负载上升
每隔10分钟会进行一次gc,gc会导致tikv节点负载上升。但tidb server某个节点每隔10分钟也会有一个CPU毛刺,cpu毛刺时间与tikv节点CPU毛刺时间一致。
tidb server与tikv server均为8C
【复制黏贴 ERROR 报错的日志】
tikv server CPU


tidb server CPU

tidb server QPS【无明显波动】

1 个赞


数据量比较多。

tidb-server cpu 高其实也就是用了 4vc+。
是 gc 任务导致的。tidb-server gc owner 要算一些东西和扫 lock 的。预期性能损耗。

别不给资源跑后台啊。这么大数据量和集群。

1 个赞

是会的,10分钟一个尖刺和GC时间刚好对应上

1 个赞

TiDB 的 GC 会导致 TiDB Server 负载上升,你遇到的 10 分钟 CPU 毛刺是 GC 任务的预期性能损耗。

1 个赞

TiDB 使用 MVCC(多版本并发控制)。当 GC 运行时,它会删除不再需要的历史数据版本.

如果 GC 需要清理的数据量巨大,可能会导致部分写入操作(需要写入新版本)出现短暂的排队或冲突,导致事务提交变慢,应用层重试增加,从而推高 TiDB 的连接数和 CPU

是的,没错,资源加大些

可以调整GC的内存回收策略,新版本默认是惰性

系统峰值跟业务峰值赶到一块了吧

TiDB GC 会间接导致 TiDB Server 节点出现 CPU 毛刺,且与 TiKV 节点的 GC 负载毛刺时间完全一致,这是 TiDB 分布式 GC 机制的正常表现,并非故障。

不会的,增加些内存