优化CentOS服务器网络设置的多维度策略
内核参数是网络性能的基础,需通过/etc/sysctl.conf文件调整关键参数,提升TCP处理效率和连接能力:
net.core.rmem_max = 16777216(接收缓冲区最大值)、net.core.wmem_max = 16777216(发送缓冲区最大值);net.ipv4.tcp_rmem = 4096 87380 16777216(最小/默认/最大)、net.ipv4.tcp_wmem = 4096 65536 16777216。net.ipv4.tcp_syncookies = 1(防止SYN Flood攻击)、net.ipv4.ip_local_port_range = 1024 65535(扩大本地端口范围)、net.ipv4.tcp_max_syn_backlog = 8192(增大SYN队列长度)、net.ipv4.tcp_synack_retries = 2(减少SYN-ACK重试次数)。net.ipv4.tcp_tw_reuse = 1(允许复用)、net.ipv4.tcp_fin_timeout = 30(缩短TIME_WAIT超时时间)。sysctl -p使配置生效。通过ethtool工具调整网卡参数,降低CPU负载:
ethtool -K eth0 tso on gro on(eth0为网卡名,需根据实际情况替换)。ethtool -k eth0查看网卡支持的offload特性,避免在不支持的网卡上开启(如老旧网卡),以免降低性能。选择适合高延迟网络的拥塞控制算法,提升吞吐量:
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf(设置公平队列调度)、echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf;sysctl -p生效。需注意,BBR需要较新内核(≥4.9)支持。减少防火墙对网络性能的影响:
使用tc命令合理分配带宽,避免单一应用占用全部资源:
tc qdisc add dev eth0 root handle 1: htb default 10(根队列)、tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit(父类,总带宽100Mbps)、tc class add dev eth0 parent 1:1 classid 1:10 htb rate 1mbit(子类,SSH带宽1Mbps)、tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dport 22 0xffff flowid 1:10(匹配SSH端口22,导向子类)。增大系统对网络连接的支持能力:
/etc/security/limits.conf文件,增加用户进程的最大文件描述符数(默认1024可能不足)。添加:* soft nofile 65535(普通用户软限制)、* hard nofile 65535(普通用户硬限制);通过工具实时监控网络性能,定位瓶颈:
iftop(按流量排序显示连接)、nload(显示总带宽使用情况)。nethogs(按进程显示带宽占用)、ss -s(查看TCP连接统计,如ESTAB连接数)。iperf(测试服务器吞吐量,如iperf -s启动服务端,iperf -c server_ip启动客户端)。8.8.8.8、114.114.114.114),或在本地设置DNS缓存(如dnsmasq),减少解析延迟。keepalive_timeout)复用连接。