优化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
)复用连接。