You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

CentOS7.9后端节点HTTP POST请求超时问题求助(TCP接收端异常ACK行为)

CentOS7.9后端节点HTTP POST请求超时问题求助(TCP接收端异常ACK行为)

各位大佬好,最近碰到一个很诡异的问题,想请大家帮忙分析下:

我们的客户端和服务端节点都是CentOS7.9/X86_64环境,HTTP POST请求的超时情况出现了明显差异:

  • 直接向服务端发送请求时,只有约0.2%的概率会超时;
  • 但通过客户端节点上的NGINX代理转发请求时,超时率直接飙升到了20%左右!

我已经确认过,只有这一台后端节点存在这个问题,其他后端节点哪怕在更高吞吐量下,请求成功率都是100%。

为了定位问题,我在后端节点执行了tcpdump抓包,并用Wireshark分析后发现,成功和失败请求的TCP交互行为差异很大:

  • 成功请求的正常TCP交互:TCP接收端会对每个较大的TCP payload正常回复ACK,也就是按报文分段进行确认。
  • 失败请求的异常TCP交互:TCP接收端对每个TCP报文只确认1398字节的payload——这个数值是MSS减去TCP/IP头后的最小payload(计算方式:1410 - 66 = 1398)。

更关键的是,TCP发送端在60秒内重传了8次报文,但接收端再也没有回复任何ACK,最终HTTP服务因为60秒读超时关闭了连接。

另外我还做了验证:因为是在服务端节点本地抓的包,所以报文应该不是在网络链路中丢失的,大概率是在内核TCP栈里丢失了。同时在客户端节点抓包发现,客户端很快就能收到服务端返回的每个ACK(也就是前面提到的1398字节的确认包)。

有没有大佬遇到过类似的情况?麻烦帮忙指点下排查方向,提前感谢大家!

备注:内容来源于stack exchange,提问作者qdongxu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.22 10:53:01