原标题:七种可能 | Linux丢包故障的定位与解决(下)
背景:在使用Linux作为服务器操作系统时,为了达到高并发处理能力,充分利用机器性能,经常会进行一些内核参数的调整优化,但不合理的调整常常也会引起意想不到的其他问题,怎么识别并处理这些问题呢?
在上篇中(点击文章下方阅读原文查看),我们就一次Linux服务器丢包故障的处理过程,结合Linux内核参数说明和TCP/IP协议栈相关的理论,已经排除了防火墙拦截、连接跟踪表溢出、Ring Buffer溢出、netdev_max_backlog溢出这四种可能性。下篇将介绍其他的三种可能性,为大家带来完整的丢包故障定位方法及解决思路。
一、问题现象
本次故障的反馈现象是:从办公网访问公网服务器不稳定,服务器某些端口访问经常超时,但Ping测试显示客户端与服务器的链路始终是稳定低延迟的。
通过在服务器端抓包,我们发现还有两个特点:
从办公网访问服务器有多个客户端,是同一个出口IP,有少部分是始终能够稳定连接的,另一部分间歇访问超时或延迟很高
同一时刻的访问,无论哪个客户端的数据包先到达,服务端会及时处理部分客户端的SYN请求,对另一部分客户端的SYN包“视而不见”
二、如何排查?怎样解决?
服务器能正常接收到数据包,问题可以限