tidb和tikv大量的报错,外部表现为tidb重启,连接丢失等。

为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。

  • 【TiDB 版本】:v4.0.4
  • 【问题描述】:经过一段时间的使用,发现大量insert和update时,集群比较不稳定。之前发现使用慢tidb dashboard 的慢sql查询时会出现cpu过高的问题,现在发现服务层也有很多连接断开,sqoop同步失败等问题。
    集群配置为:

    其中日志搜索可以看到有大量error信息:

    grafana显示tidb在down掉前,内存普遍波动比较大:

    以这个tidb实例为例,这种情况下,tidb后续就会down掉,然后再被supervisor重新拉起,拉起后内存就恢复正常了。
  1. 请检查tidb日志是 OOM 了
  2. 如果 OOM, 根据 dashboard 查看是否有某些 sql 占用了大量内存

没有oom日志,但确实都异常重启了

是否有什么关键字方便提供,我们再查一次

我们升级了db节点的配置到32core64g内存后好了一段时间,然后现在又有2个db节点down掉了。


请问这种问题如何排查。

  1. 操作系统message日志中,可以查看 tidb 重启的时间点是否有 OOM kill 进程的信息
  2. 如果内存持续增长,可以查看 dashboard 界面,是否有 sql 消耗了大量内存
  3. 采集内存占用很多时的火焰图信息,可以多反馈几个profile信息,多谢。
    curl -G “ip:port/debug/pprof/heap?seconds=30” > heap.profile 内存
    ip地址为tidb服务器的ip,端口为tidb_status_port的端口