如何优化CentOS网络连接速度
小樊
36
2025-11-18 00:22:40
CentOS 网络连接速度优化实操指南
一 基线测量与定位瓶颈
- 明确目标:是提升带宽利用率、降低时延、提高并发连接数,还是优化DNS 解析。
- 带宽与链路质量:用 iperf3 测试端到端吞吐与抖动(服务端执行:iperf3 -s;客户端执行:iperf3 -c 服务器IP -P 4 -t 30),同时用 ping 与 mtr 观察丢包与延迟分布。
- 主机与内核资源:用 nload/iftop/nethogs 观察总带宽、按连接/进程的占用;用 ss -s 与 netstat -s 查看 TCP 重传、超时与队列情况。
- 应用层:检查 Web/DB/缓存的连接池、超时、压缩与内容是否可缓存;必要时在反向代理层(如 Nginx)开启静态资源缓存与压缩。
二 内核网络参数优化
- 编辑 /etc/sysctl.conf 或 /etc/sysctl.d/99-network-tuning.conf,加入并调优以下关键项(按带宽与延迟目标微调):
- 增大套接字与内核队列
- net.core.rmem_max = 16777216
- net.core.wmem_max = 16777216
- net.core.somaxconn = 65535
- net.core.netdev_max_backlog = 65535
- 加速连接回收与重用
- net.ipv4.tcp_tw_reuse = 1
- net.ipv4.tcp_fin_timeout = 30
- 提升半开连接与握手效率
- net.ipv4.tcp_max_syn_backlog = 8192
- net.ipv4.tcp_synack_retries = 2
- net.ipv4.tcp_syn_retries = 5
- 扩大本地端口范围
- net.ipv4.ip_local_port_range = 1024 65535
- 启用 SYN 洪泛保护
- net.ipv4.tcp_syncookies = 1
- 应用生效:sysctl -p;建议先在测试环境验证,逐步调大数值并观察重传率与延迟变化。
三 文件描述符与并发连接
- 提升进程可打开文件数:编辑 /etc/security/limits.conf,为关键运行用户(如 nginx、app)增加
- 如运行 systemd 服务,在对应服务的 unit 文件中补充:
- [Service]
- LimitNOFILE=65535
- 重启相关服务或会话后验证:ulimit -n 与服务内统计(如 ss -s)。
四 DNS 与传输层优化
- DNS 优化:优先使用稳定、低时延的公共 DNS(如 223.5.5.5、119.29.29.29、1.1.1.1),或在本地部署缓存(如 dnsmasq);确保 /etc/resolv.conf 的 nameserver 顺序合理,避免频繁超时解析拖慢首包时间。
- 传输与应用层加速:
- 启用 HTTP/HTTPS 压缩(gzip/brotli)与长连接/连接复用;静态资源使用强缓存与 CDN 加速。
- 在网关或服务端启用 QoS/tc 限流与整形,避免单应用占满带宽影响关键业务。
- 内网同机房高吞吐场景,若交换机与网卡均支持,可启用 Jumbo Frames(MTU 9000),并确保端到端一致。
五 网络管理与监控工具
- 配置管理:
- 传统 ifcfg 网络:/etc/sysconfig/network-scripts/ifcfg- 中设置 BOOTPROTO=static、IPADDR、NETMASK、GATEWAY、DNS1 等;变更后用 systemctl restart network 生效。
- 使用 NetworkManager:nmcli device status、nmcli connection up/down ;图形化可用 nmtui。
- 实时监控与排障:
- nload(总带宽)、iftop(按连接带宽)、nethogs(按进程带宽)、iptraf/bmon(多维流量视图)、ss/netstat(连接与统计)。
- 端到端性能:iperf3 测吞吐与抖动,ping/mtr 定位丢包与延迟瓶颈。