PD内存持续升高,大量goroutine产生最终导致整个集群不可用

【 TiDB 使用环境】生产环境
【 TiDB 版本】6.5.0
【复现路径】未知
【遇到的问题:问题现象及影响】
内存大量增加,最终触发swap后,整个tidb集群不可用。能查到是什么原因导致的突然内存升高吗?

客户端报

从pd的leader日志看,出现了pd选举,但是从最终结果看,没有leader没有切换

etcd有大量的fsync操作

有很多schedule operator的操作

pd日志,有大量的心跳超时的报错

【资源配置】进入到 TiDB Dashboard -集群信息 (Cluster Info) -主机(Hosts) 截图此页面

swap 关了吧,不如让 pd 触发 OOM。

  1. 看下 tikv 侧又没有热点
  2. curl http://<pd_adress>:<pd_port>/debug/pprof/heap -o heap.log 收下火焰图看看
1 个赞

监控为啥会有大量的查询负载增加,这可能导致 TiDB 集群需要更多的内存来处理查询请求

出问题后,已关闭swap,确实不如直接让程序OOM,触发自动切换leader

应该是故障后,业务进行重试,产生更多的请求

我收集看看

问题已解决,原因为PD故障的节点优先级比其他节点都高,导致leader没有切换

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