FetchLinux网络优化秘籍
定位与总体思路
快速定位瓶颈
iperf3 -s,客户端执行iperf3 -c <server_ip> -t 30 -P 4),对比不同实例、不同时间段与不同路径的结果。ping/mtr/traceroute定位链路质量与跳数问题。ss -s、netstat -s、sar -n TCP,DEV观察重传、丢包、队列溢出等指标。tcpdump -i eth0 -nn -s0 -w capture.pcap配合Wireshark深入分析握手、重传与窗口变化。内核与协议栈优化
/etc/sysctl.conf后执行sysctl -p):
net.core.rmem_max = 16777216net.core.wmem_max = 16777216net.ipv4.tcp_rmem = 4096 87380 16777216net.ipv4.tcp_wmem = 4096 65536 16777216net.core.somaxconn = 65535(配合应用backlog)net.ipv4.tcp_tw_reuse = 1(仅对客户端/安全场景启用)net.ipv4.tcp_tw_recycle = 0(在NAT/负载均衡环境易引发问题,建议关闭)net.ipv4.tcp_fin_timeout = 15net.ipv4.tcp_slow_start_after_idle = 0net.ipv4.tcp_window_scaling = 1net.ipv4.tcp_fastopen = 3(需服务端/客户端同时支持)bbr、cubic),示例:net.ipv4.tcp_congestion_control = bbr(需内核启用该算法)。sysctl -w net.mptcp.mptcp_enabled=1,并用ss -ant | grep MPTCP验证。网卡与队列优化
ethtool -l eth0;按需设置ethtool -L eth0 rx 4 tx 4。/proc/interrupts观察中断分布,将RSS队列绑定到不同CPU,降低软中断争用。mode=0轮询、mode=1主备、miimon=100链路监测),在交换机侧同步配置802.3ad或相应聚合策略。tc qdisc add dev eth0 root handle 1: htb default 10与tc class add ... rate 10mbit,必要时对特定目标限速。应用与架构层优化
worker_processes auto; worker_connections 10240; use epoll; multi_accept on;(结合keepalive与sendfile)。MaxRequestWorkers与KeepAlive合理配比,减少频繁建连开销。安全与回滚建议
sysctl -a > sysctl-$(date +%F).bak;参数分批灰度,观察错误率、重传率、P95/P99时延与业务指标。/etc/sysctl.d/99-network-restore.conf一键恢复;对Bonding、队列等关键变更先在测试环境验证。tcp_tw_recycle、rp_filter等易引发兼容性与安全问题的选项;任何优化以稳定与可观测为第一目标。