首页主机资讯Linux dropped网络优化

Linux dropped网络优化

时间2025-11-26 10:06:04发布访客分类主机资讯浏览850
导读:Linux dropped 网络优化实战指南 一 快速定位与监控 识别丢包位置与趋势 查看接口统计:ifconfig 或 ip -s link,关注 RX/TX 的 dropped、overruns、errors 是否持续增长。 查看软...

Linux dropped 网络优化实战指南

一 快速定位与监控

  • 识别丢包位置与趋势
    • 查看接口统计:ifconfig 或 ip -s link,关注 RX/TX 的 dropped、overruns、errors 是否持续增长。
    • 查看软中断是否“打满”CPU:cat /proc/interrupts 找到网卡队列对应的 CPU,再用 top/htop 观察这些 CPU 的 si(软中断)占用是否异常。软中断过高常见于单核承载过多队列或处理逻辑瓶颈。
  • 关联负载与连接
    • 连接与负载:ss -s、netstat -s、sar -n DEV/EDEV 1 观察 pps、bps、重传、半开连接 等指标,判断是突发流量、连接风暴还是协议栈瓶颈。
    • 路由与防火墙:route -n、ip rule、iptables/firewalld -L 检查是否存在 错路由、黑洞、策略限速/连接跟踪满 等问题。

二 网卡与驱动层优化

  • 队列与中断绑定
    • 调整队列数量:ethtool -l eth0 查看,ethtool -L eth0 rx 8(或 combined 8)提升并行度;注意部分虚拟设备不支持。队列变化会短暂中断链路。
    • 中断亲和与多队列:/proc/interrupts 确认各队列中断分布,使用 smp_affinity_list 将队列中断分散到不同 CPU,避免单核软中断拥塞。
  • 缓冲与中断合并
    • 环形缓冲:ethtool -g eth0 查看/调整 RX/TX ring,适当增大以吸收突发流量(需结合内存与延迟权衡)。
    • 中断合并:ethtool -C eth0 adaptive-rx on rx-usecs 50-100(示例值)降低中断频率、提升大流量吞吐;过小会增加 CPU,过大增加时延。
  • 驱动与固件
    • 更新网卡驱动与固件、升级内核修复已知 驱动丢包/溢出 问题;检查链路协商速率/双工、更换故障网线/光模块。

三 内核网络栈与协议参数优化

  • 套接字与内核缓冲
    • 增大套接字与内核接收缓冲,缓解高带宽/突发流量下的 socket 溢出netdev backlog 溢出
      • sysctl -w net.core.rmem_default=8388608
      • sysctl -w net.core.rmem_max=16777216
      • sysctl -w net.core.wmem_default=8388608
      • sysctl -w net.core.wmem_max=16777216
      • sysctl -w net.core.netdev_max_backlog=2000-5000
  • TCP 连接与稳定性
    • 高并发短连接:增大半连接与全连接队列,启用 SYN Cookies 抵御洪泛
      • sysctl -w net.ipv4.tcp_max_syn_backlog=4096-16384
      • sysctl -w net.core.somaxconn=4096-16384
      • sysctl -w net.ipv4.tcp_syncookies=1
    • 加速失败重试与资源回收
      • sysctl -w net.ipv4.tcp_syn_retries=2-3
      • sysctl -w net.ipv4.tcp_synack_retries=2-3
      • sysctl -w net.ipv4.tcp_fin_timeout=30
      • sysctl -w net.ipv4.tcp_keepalive_time=120
  • 持久化与生效
    • 将关键参数写入 /etc/sysctl.conf 或 /etc/sysctl.d/99-network.conf,执行 sysctl -p 生效。

四 典型场景与建议参数

  • 大流量 UDP/TCP 接收(遥测、日志、视频)
    • 目标:降低 RX dropped/overruns,提升软中断并行度与缓冲吸收能力
    • 建议:
      • ethtool -L eth0 rx 8(或 combined 8),smp_affinity_list 分散中断
      • ethtool -g eth0 适度增大 RX ring
      • ethtool -C eth0 adaptive-rx on rx-usecs 50-100
      • sysctl -w net.core.rmem_default=8388608;net.core.rmem_max=16777216
      • sysctl -w net.core.netdev_max_backlog=2000-5000
  • 高并发短连接(API/网关/负载均衡)
    • 目标:减少 SYN 丢弃、accept 队列溢出
    • 建议:
      • sysctl -w net.ipv4.tcp_max_syn_backlog=16384
      • sysctl -w net.core.somaxconn=16384
      • sysctl -w net.ipv4.tcp_syncookies=1
      • sysctl -w net.ipv4.tcp_syn_retries=2;net.ipv4.tcp_synack_retries=2
      • sysctl -w net.ipv4.tcp_abort_on_overflow=0
  • 长肥管道/跨地域高带宽
    • 目标:提升 窗口与缓冲,减少时延与重传
    • 建议:
      • sysctl -w net.core.rmem_max=16777216;net.core.wmem_max=16777216
      • sysctl -w net.ipv4.tcp_rmem=“4096 87380 16777216
      • sysctl -w net.ipv4.tcp_wmem=“4096 65536 16777216
      • sysctl -w net.ipv4.tcp_mem=“786432 1048576 26777216
      • 视链路 MTU 与分片情况,必要时调优 MTU(如 jumbo frame)。

五 验证与回退

  • 验证方法
    • 持续观察:ifconfig/ip -s link、cat /proc/interrupts、ss -s、sar -n DEV/EDEV 1,确认 dropped/overrunssi 占用下降,连接成功率与延迟改善。
    • 业务侧回归:压测/回放真实流量,核对 pps/bps、重传率、超时 等指标是否达标。
  • 变更管控
    • 逐项调整、每次变更后留出观察窗口;保留回退方案(如 ethtool -L/-C 恢复、sysctl 恢复默认值),变更前备份配置文件。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: Linux dropped网络优化
本文地址: https://pptw.com/jishu/756436.html
Linux dropped故障排查 Linux dropped与内存关系

游客 回复需填写必要信息