【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 个赞
WalterWj
(王军 - PingCAP)
2
数据量比较多。
tidb-server cpu 高其实也就是用了 4vc+。
是 gc 任务导致的。tidb-server gc owner 要算一些东西和扫 lock 的。预期性能损耗。
别不给资源跑后台啊。这么大数据量和集群。
1 个赞
TiDB 的 GC 会导致 TiDB Server 负载上升,你遇到的 10 分钟 CPU 毛刺是 GC 任务的预期性能损耗。
1 个赞
TiDB 使用 MVCC(多版本并发控制)。当 GC 运行时,它会删除不再需要的历史数据版本.
如果 GC 需要清理的数据量巨大,可能会导致部分写入操作(需要写入新版本)出现短暂的排队或冲突,导致事务提交变慢,应用层重试增加,从而推高 TiDB 的连接数和 CPU
异乡的大人
(Ti D Ber 2 Qs S2z Ws)
10
TiDB GC 会间接导致 TiDB Server 节点出现 CPU 毛刺,且与 TiKV 节点的 GC 负载毛刺时间完全一致,这是 TiDB 分布式 GC 机制的正常表现,并非故障。