tidb write: connection reset by peer

为提高效率,请提供以下信息,问题描述清晰能够更快得到解决:
【 TiDB 使用环境】
【概述】使用tiup新部署一套集群,tidb日志报异常
【背景】做过哪些操作
【现象】业务和数据库现象
【业务影响】
【TiDB 版本】v5.3.0
【附件】

  1. TiUP Cluster Display 信息
  • 对应模块日志(包含问题前后1小时日志)
[2021/12/07 20:03:21.038 +08:00] [ERROR] [terror.go:307] ["encountered error"] [error="write tcp 10.43.xxx:4000->100.127.127.67:40389: write: connection reset by peer"] [stack="github.com/pingcap/tidb/parser/terror.Log\n\t/home/jenkins/agent/workspace/optimization-build-tidb-linux-amd/go/src/github.com/pingcap/tidb/parser/terror/terror.go:307\ngithub.com/pingcap/tidb/server.(*Server).onConn\n\t/home/jenkins/agent/workspace/optimization-build-tidb-linux-amd/go/src/github.com/pingcap/tidb/server/server.go:519"]
[2021/12/07 20:03:22.622 +08:00] [ERROR] [terror.go:307] ["encountered error"] [error="write tcp 10.43.xx:4000->100.127.126.130:33413: write: connection reset by peer"] [stack="github.com/pingcap/tidb/parser/terror.Log\n\t/home/jenkins/agent/workspace/optimization-build-tidb-linux-amd/go/src/github.com/pingcap/tidb/parser/terror/terror.go:307\ngithub.com/pingcap/tidb/server.(*Server).onConn\n\t/home/jenkins/agent/workspace/optimization-build-tidb-linux-amd/go/src/github.com/pingcap/tidb/server/server.go:519"]
[2021/12/07 20:03:22.939 +08:00] [ERROR] [terror.go:307] ["encountered error"] [error="write tcp 10.43.xx:4000->100.127.127.67:52001: write: connection reset by peer"] [stack="github.com/pingcap/tidb/parser/terror.Log\n\t/home/jenkins/agent/workspace/optimization-build-tidb-linux-amd/go/src/github.com/pingcap/tidb/parser/terror/terror.go:307\ngithub.com/pingcap/tidb/server.(*Server).onConn\n\t/home/jenkins/agent/workspace/optimization-build-tidb-linux-amd/go/src/github.com/pingcap/tidb/server/server.go:519"]
[2021/12/07 20:03:24.525 +08:00] [ERROR] [terror.go:307] ["encountered error"] [error="write tcp 10.43.xx:4000->100.127.126.130:29617: write: connection reset by peer"] [stack="github.com/pingcap/tidb/parser/terror.Log\n\t/home/jenkins/agent/workspace/optimization-build-tidb-linux-amd/go/src/github.com/pingcap/tidb/parser/terror/terror.go:307\ngithub.com/pingcap/tidb/server.(*Server).onConn\n\t/home/jenkins/agent/workspace/optimization-build-tidb-linux-amd/go/src/github.com/pingcap/tidb/server/server.go:519"]
[2021/12/07 20:03:25.039 +08:00] [ERROR] [terror.go:307] ["encountered error"] [error="write tcp 10.43.xx:4000->100.127.127.67:53046: write: connection reset by peer"] [stack="github.com/pingcap/tidb/parser/terror.Log\n\t/home/jenkins/agent/workspace/optimization-build-tidb-linux-amd/go/src/github.com/pingcap/tidb/parser/terror/terror.go:307\ngithub.com/pingcap/tidb/server.(*Server).onConn\n\t/home/jenkins/agent/workspace/optimization-build-tidb-linux-amd/go/src/github.com/pingcap/tidb/server/server.go:519"]

10.43.xx.xx : 4000 是tidb
100.127 网段的是环境内的机器么?

不是,没有配置过这个,所有的内网都是10.43段。目前压测,读写都是正常的。tidb日志一直在刷新这个日志。
监控有报:

以上的错误建议你自己排查下

看看是从哪儿请求过来的

这个错可能是slb的健康检查导致的? 是不是如果前面加了slb或者haproxy都会有这个问题?

健康检查的方式是不是需要调整下?
haproxy 用的很普遍啊,没出这个毛病呢

遇到了同样的问题,确认是 slb 健康检查导致的,关闭健康检查,症状消失

需要调整成什么样呢?

这种一般是前端取消执行或者连接关闭,后端还在向网络连接写数据,突然中断会报的错

tidb节点上同时安装haproxy,且设定了透传IP(send-proxy)(https://tidb.net/blog/302c8402),就会有这样的报错
[2022/05/14 10:27:08.039 +08:00] [ERROR] [terror.go:307] ["encountered error"] [error="write tcp 10.65.206.121:4000->10.65.206.122:43066: write: connection reset by peer"] [stack="github.com/pingcap/tidb/parser/terror.Log\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/parser/terror/terror.go:307\ngithub.com/pingcap/tidb/server.(*Server).onConn\n\t/home/jenkins/agent/workspace/build-common/go/src/github.com/pingcap/tidb/server/server.go:516"]

Connection reset by peer的常见原因及解决办法:

1,如果一端的[Socket]被关闭(或主动关闭,或因为异常退出而 引起的关闭),另一端仍发送数据,发送的第一个数据包引发该异常(Connect reset by peer)。

Socket默认连接60秒,60秒之内没有进行心跳交互,即读写数据,就会自动关闭连接。

2,一端退出,但退出时并未关闭该连接,另一端如果在从连接中读数据则抛出该异常(Connection [reset]。

简单的说就是在连接断开后的读和写操作引起的。