Linux 网络延迟升高的常见根因

发布时间 - 2026-01-30 00:00:00    点击率:
高延迟但traceroute某跳回落,大概率是中间设备禁用ICMP而非链路故障;应优先用hping3发TCP SYN验证真实业务延迟,再排查内核收包队列、TIME-WAIT堆积或网卡ring buffer不足等问题。

ping 高延迟但 traceroute 某跳就回落,大概率是中间设备策略限制

很多人看到 ping 延迟高、丢包,第一反应是“网络差”,但真实情况常是 ICMP 被上游防火墙、运营商设备或云厂商安全组静默丢弃。这不是链路问题,而是协议层拦截。

  • hping3 -c 10 -S -p 80 目标IP 发 TCP SYN 包,比 ping 更贴近真实业务流量;若延迟正常,说明 ICMP 被限,不用调系统参数
  • traceroute -n -w 2 -q 1

    目标IP
    中如果某跳显示 * * * 但下跳又恢复,基本可判定该节点禁 ICMP —— 这不是故障,是配置
  • 别急着改 /proc/sys/net/ipv4/icmp_echo_ignore_all,本机设这个没用,它只控制本机是否响应 ping,不解决外网丢包

内核接收队列溢出(RX queue dropped)导致的“隐形延迟”

延迟突然升高且伴随间歇性丢包,netstat -s | grep "packet receive errors"cat /proc/net/snmp | grep -A1 Tcp 显示大量 TCPRcvQDrop,说明数据包到了网卡却卡在内核收包队列里没被及时取走。

  • 典型诱因:软中断(softirq)集中在单个 CPU 核处理,而应用没及时调用 recv() 或工作线程阻塞
  • 检查命令:cat /proc/interrupts | grep eth0 看各 CPU 上网络中断分布;若只有 CPU0 高,说明 RSS/RPS 未启用或配置失效
  • 临时修复:echo f > /proc/irq/*/smp_affinity_list(绑定到所有核),但长期应配 ethtool -L eth0 combined 4 + 启用 RPS

TIME-WAIT 连接堆积引发端口耗尽与连接失败

不是所有高延迟都来自 RTT,有时是客户端发不出新连接——ss -tan state time-wait | wc -l 超过 2~3 万,再看 ss -sorphan 数量飙升,说明连接无法快速释放,新请求排队等待端口。

  • net.ipv4.tcp_tw_reuse = 1 是安全的,但仅对客户端有效(需时间戳开启);服务端请勿依赖它来缓解高并发短连接
  • net.ipv4.tcp_fin_timeout = 30 可缩短 FIN_WAIT_2 时间,但不能低于 30 秒,否则可能丢 ACK
  • 禁用 tcp_tw_recycle:Linux 4.12+ 已移除,旧内核开启后在 NAT 环境下会导致大量连接被拒绝(时间戳反向校验失败)

驱动或 ring buffer 不足引发的底层丢包

Wireshark 抓包发现大量 “TCP Retransmission” 但服务器 netstat -s 却没报错?很可能丢包发生在网卡 DMA 层——数据还没进内核就被硬件丢弃了。

  • 查丢包位置:ethtool -S eth0 | grep -i "drop\|over\|error",重点关注 rx_missed_errors(ring buffer 溢出)、rx_over_errors(DMA 缓冲区满)
  • 增大 ring buffer:ethtool -G eth0 rx 4096 tx 4096(值需查网卡支持上限,如 Intel ixgbe 最大 4096)
  • 老旧驱动常见于 Realtek 或某些国产网卡,lspci -k | grep -A3 Ethernet 看 kernel driver 是否为 r8169(建议换 r8168

真正卡住排查节奏的,往往不是参数没调对,而是把应用层慢(比如数据库查询 500ms)当成网络延迟去优化。先跑通 hping3 -Stcpdump 确认协议栈是否干净,再动内核参数。


# linux  # 防火墙  # 端口  #   # ai  # lsp  # echo  # Error  #   # 线程  # 并发  # 数据库  # wireshark  # tcpdump  # 这不是  # 本机  # 链路  # 客户端  # 还没  # 很多人  # 很可能  # 再看  # 报错  # 而非 


相关栏目: 【 网站优化151355 】 【 网络推广146373 】 【 网络技术251813 】 【 AI营销90571


相关推荐: 如何在服务器上三步完成建站并提升流量?  高防网站服务器:DDoS防御与BGP线路的AI智能防护方案  Laravel如何使用Gate和Policy进行授权?(权限控制)  免费网站制作appp,免费制作app哪个平台好?  Swift中swift中的switch 语句  JavaScript如何实现路由_前端路由原理是什么  如何用AI一键生成爆款短视频文案?小红书AI文案写作指令【教程】  高防服务器租用如何选择配置与防御等级?  Laravel控制器是什么_Laravel MVC架构中Controller的作用与实践  如何快速配置高效服务器建站软件?  如何快速建站并高效导出源代码?  Laravel Facade的原理是什么_深入理解Laravel门面及其工作机制  实例解析Array和String方法  如何解决hover在ie6中的兼容性问题  音响网站制作视频教程,隆霸音响官方网站?  Laravel如何获取当前登录用户信息_Laravel Auth门面使用与Session用户读取【技巧】  Laravel如何创建和注册中间件_Laravel中间件编写与应用流程  如何在IIS7中新建站点?详细步骤解析  Laravel Docker环境搭建教程_Laravel Sail使用指南  网站制作公司哪里好做,成都网站制作公司哪家做得比较好,更正规?  Laravel如何配置中间件Middleware_Laravel自定义中间件拦截请求与权限校验【步骤】  宙斯浏览器视频悬浮窗怎么开启 边看视频边操作其他应用教程  开心动漫网站制作软件下载,十分开心动画为何停播?  实现点击下箭头变上箭头来回切换的两种方法【推荐】  品牌网站制作公司有哪些,买正品品牌一般去哪个网站买?  PHP 500报错的快速解决方法  Laravel软删除怎么实现_Laravel Eloquent SoftDeletes功能使用教程  Laravel如何实现文件上传和存储?(本地与S3配置)  js代码实现下拉菜单【推荐】  如何快速搭建安全的FTP站点?  Laravel Eloquent关联是什么_Laravel模型一对一与一对多关系精讲  微信公众帐号开发教程之图文消息全攻略  如何基于云服务器快速搭建个人网站?  如何快速搭建自助建站会员专属系统?  浅谈javascript alert和confirm的美化  广州网站制作公司哪家好一点,广州欧莱雅百库网络科技有限公司官网?  Laravel用户密码怎么加密_Laravel Hash门面使用教程  google浏览器怎么清理缓存_谷歌浏览器清除缓存加速详细步骤  夸克浏览器网页跳转延迟怎么办 夸克浏览器跳转优化  Laravel如何设置定时任务(Cron Job)_Laravel调度器与任务计划配置  弹幕视频网站制作教程下载,弹幕视频网站是什么意思?  常州企业网站制作公司,全国继续教育网怎么登录?  Android自定义listview布局实现上拉加载下拉刷新功能  javascript基本数据类型及类型检测常用方法小结  如何用PHP快速搭建高效网站?分步指南  Laravel怎么实现验证码(Captcha)功能  html5audio标签播放结束怎么触发事件_onended回调方法【教程】  如何为不同团队 ID 动态生成多个非值班状态按钮  Android Socket接口实现即时通讯实例代码  Python制作简易注册登录系统