温馨提示×

如何利用centos清理优化网络性能

小樊
47
2025-10-26 02:44:06
栏目: 智能运维

一、清理网络缓存

  1. 清理YUM包管理缓存
    YUM缓存会占用磁盘空间并可能影响软件安装/更新速度。使用以下命令彻底清理:

    sudo yum clean all  # 清除所有YUM缓存(包括已下载的包和元数据)
    

    或分步清理过期缓存:

    sudo yum clean expire-cache  # 仅删除过期缓存
    
  2. 清理DNS缓存
    若系统使用systemd-resolved服务(默认启用),可通过以下命令刷新DNS缓存:

    sudo systemd-resolve --flush-caches  # 清除DNS缓存
    

    若使用nscd(Name Service Cache Daemon),需先安装并重启服务:

    sudo yum install -y nscd  # 安装nscd(若未安装)
    sudo systemctl restart nscd  # 重启nscd服务以清除缓存
    
  3. 清理临时文件
    临时文件可能包含网络相关缓存(如套接字文件),定期清理可释放资源:

    sudo rm -rf /tmp/*  # 删除/tmp目录下所有临时文件(谨慎操作,避免删除正在使用的文件)
    
  4. 清理浏览器缓存(可选)
    若通过网络访问CentOS服务器(如管理界面),清理浏览器缓存可解决页面加载缓慢问题:

    • Chrome/Edge:按Ctrl+Shift+Delete,选择“时间范围”(如“全部时间”),勾选“缓存的图片和文件”,点击“清除数据”。
    • Firefox:按Ctrl+Shift+Delete,选择“缓存”,点击“清除”。

二、优化网络性能

  1. 调整内核网络参数
    编辑/etc/sysctl.conf文件,优化以下关键参数(提升TCP连接效率和吞吐量):

    sudo vi /etc/sysctl.conf
    

    添加/修改以下内容:

    # 启用TCP SYN Cookie防止SYN Flood攻击
    net.ipv4.tcp_syncookies = 1
    # 扩大本地端口范围(允许更多并发连接)
    net.ipv4.ip_local_port_range = 1024 65535
    # 增加TCP最大半连接队列长度
    net.ipv4.tcp_max_syn_backlog = 8192
    # 启用TCP快速重用(缩短TIME_WAIT状态持续时间)
    net.ipv4.tcp_tw_reuse = 1
    # 减少TIME_WAIT状态超时时间(默认60秒,调整为30秒)
    net.ipv4.tcp_fin_timeout = 30
    # 增加系统最大连接数
    net.core.somaxconn = 65535
    # 增加网络设备接收队列长度
    net.core.netdev_max_backlog = 65535
    # 扩大TCP读写缓冲区(提升大数据量传输性能)
    net.core.rmem_max = 4194304
    net.core.wmem_max = 4194304
    net.ipv4.tcp_rmem = 4096 87380 4194304
    net.ipv4.tcp_wmem = 4096 16384 4194304
    

    保存后应用更改:

    sudo sysctl -p  # 重新加载sysctl配置
    
  2. 优化网络接口配置
    编辑网卡配置文件(如/etc/sysconfig/network-scripts/ifcfg-eth0eth0为实际网卡名):

    sudo vi /etc/sysconfig/network-scripts/ifcfg-eth0
    

    设置静态IP(避免DHCP延迟)并启用Jumbo Frames(若网卡/交换机支持,提升大帧传输效率):

    DEVICE=eth0
    BOOTPROTO=static
    IPADDR=192.168.1.100  # 替换为实际IP
    NETMASK=255.255.255.0
    GATEWAY=192.168.1.1
    DNS1=8.8.8.8
    DNS2=8.8.4.4
    ONBOOT=yes
    MTU=1500  # 默认MTU为1500,若支持更大值(如9000),可调整为:MTU=9000
    

    重启网络服务使配置生效:

    sudo systemctl restart network  # 传统network服务
    # 或(若使用NetworkManager)
    sudo systemctl restart NetworkManager
    
  3. 启用TCP Fast Open(TFO)
    TFO可减少TCP握手延迟(尤其适用于短连接场景,如网页访问)。编辑/etc/sysctl.conf

    net.ipv4.tcp_fastopen = 3  # 0=禁用,1=仅客户端,2=仅服务器,3=客户端+服务器
    

    应用更改:

    sudo sysctl -p
    
  4. 配置QoS(服务质量)
    使用tc命令(Traffic Control)分配带宽,优先保障关键业务(如数据库、Web服务)。示例:限制eth0接口总带宽为100Mbps,并为HTTP服务(端口80)分配50Mbps优先带宽:

    sudo yum install -y iproute  # 安装iproute工具包(含tc命令)
    # 清除现有队列规则(若有)
    sudo tc qdisc del dev eth0 root 2>/dev/null
    # 添加HTB(Hierarchical Token Bucket)队列
    sudo tc qdisc add dev eth0 root handle 1: htb default 30
    # 创建父类(总带宽100Mbps)
    sudo tc class add dev eth0 parent 1: classid 1:1 htb rate 100mbit ceil 100mbit
    # 创建子类(HTTP服务带宽50Mbps)
    sudo tc class add dev eth0 parent 1:1 classid 1:10 htb rate 50mbit ceil 100mbit
    # 将HTTP流量(端口80)定向到子类1:10
    sudo tc filter add dev eth0 protocol ip parent 1:0 prio 1 u32 match ip dport 80 0xffff flowid 1:10
    
  5. 禁用不必要的网络服务
    关闭不需要的网络服务以减少资源消耗:

    sudo systemctl stop NetworkManager  # 若使用network服务,停止NetworkManager
    sudo systemctl disable NetworkManager
    sudo systemctl stop firewalld  # 若使用iptables,停止firewalld
    sudo systemctl disable firewalld
    
  6. 监控网络性能
    使用工具实时监控网络流量,定位瓶颈:

    • iftop:实时查看接口带宽使用情况(按端口/主机排序):
      sudo yum install -y iftop
      sudo iftop -i eth0  # 替换为实际网卡名
      
    • nload:显示总带宽使用趋势:
      sudo yum install -y nload
      sudo nload eth0
      
    • iperf:测试服务器间网络吞吐量(需在客户端和服务端分别运行):
      # 服务端(接收端)
      iperf -s
      # 客户端(发送端,替换为服务端IP)
      iperf -c <服务器IP>
      

注意事项

  • 操作前备份重要配置文件(如/etc/sysctl.conf、网卡配置文件),避免误操作导致系统异常。
  • 生产环境中建议先在测试环境验证优化效果,再逐步应用到正式服务器。
  • 硬件层面可选择高性能千兆/万兆网卡(支持Jumbo Frames),并确保网线、交换机等设备符合网络性能要求。

0