首页主机资讯CentOS Apache如何优化网络带宽

CentOS Apache如何优化网络带宽

时间2025-11-26 16:38:04发布访客分类主机资讯浏览728
导读:CentOS 上优化 Apache 的网络带宽 一 核心思路 减少传输字节:开启 Gzip/deflate 压缩、设置合适的 缓存策略,让浏览器与 CDN 复用内容,直接降低带宽占用与首屏时间。 提升传输效率:启用 HTTP KeepAl...

CentOS 上优化 Apache 的网络带宽

一 核心思路

  • 减少传输字节:开启 Gzip/deflate 压缩、设置合适的 缓存策略,让浏览器与 CDN 复用内容,直接降低带宽占用与首屏时间。
  • 提升传输效率:启用 HTTP KeepAlive 复用连接,减少握手与慢启动开销,提高吞吐与用户体验。
  • 控制带宽占用:对下载类站点或突发流量,按 IP/连接/速率 限流,避免个别用户占满带宽。
  • 系统层优化:调优 TCP 内核参数文件描述符,确保高并发下网络栈与进程不成为瓶颈。
  • 架构层加速:引入 CDN/HTTP 加速多运营商线路(三线),把静态资源与长连接卸载到边缘节点与更优链路。

二 Apache 层优化

  • 启用压缩 mod_deflate(推荐)
    • 启用模块:sudo yum install -y mod_deflate & & sudo systemctl restart httpd
    • 推荐配置示例:
      <
          IfModule mod_deflate.c>
          
          DeflateCompressionLevel 6
          SetOutputFilter DEFLATE
          AddOutputFilterByType DEFLATE text/html text/plain text/css application/javascript application/xml image/svg+xml
          SetEnvIfNoCase Request_URI \.(?:gif|jpe?g|png|zip|rar|gz|bz2)$ no-gzip dont-vary
          BrowserMatch ^Mozilla/4 gzip-only-text/html
          Header append Vary Accept-Encoding
      <
          /IfModule>
          
      
    • 要点:压缩级别建议 6(兼顾压缩率与 CPU);避免对 gif/jpg/png/zip/rar 等已压缩内容再压缩;设置 Vary: Accept-Encoding 以便 CDN 正确缓存压缩与非压缩版本;用浏览器开发者工具检查响应头 Content-Encoding: gzip
  • 启用浏览器缓存 mod_expires
    <
        IfModule mod_expires.c>
        
        ExpiresActive On
        ExpiresByType text/html "access plus 1 month"
        ExpiresByType text/css "access plus 1 month"
        ExpiresByType application/javascript "access plus 1 month"
        ExpiresByType image/jpeg "access plus 1 month"
        ExpiresByType image/png "access plus 1 month"
        ExpiresByType image/gif "access plus 1 month"
    <
        /IfModule>
        
    
    • 要点:为静态资源设置较长 Cache-Control/Expires,配合 ETag/Last-Modified,显著降低重复传输。
  • 优化 KeepAlive
    KeepAlive On
    MaxKeepAliveRequests 100
    KeepAliveTimeout 5
    
    • 要点:开启持久连接减少握手;MaxKeepAliveRequests 建议 50–100KeepAliveTimeout 建议 5–10 秒,在高并发/内存紧张场景可适当降低,避免占用过多工作进程。

三 带宽控制与下载限速

  • 按连接限速 mod_ratelimit(单连接速率上限)
    LoadModule ratelimit_module modules/mod_ratelimit.so
    <
        Location /downloads>
        
        SetOutputFilter RATE_LIMIT
        SetEnv rate-limit 500   # 单位 KB/s,示例为 500 KB/s
    <
        /Location>
        
    
    • 要点:适合限制单个下载连接的带宽,防止单用户长时间占满带宽;对 多线程下载器 效果有限。
  • 按 IP 并发连接数 mod_limitipconn(减少并发占用)
    LoadModule limitipconn_module modules/mod_limitipconn.so
    <
        Location /downloads>
        
        MaxConnPerIP 3
        NoIPLimit index.htm
    <
        /Location>
        
    
    • 要点:限制同一 IP 的并发连接数,配合速率限制,能有效抑制“抢带宽”的下载行为。
  • 全局带宽整形 tc(系统层令牌桶)
    # 限制 eth0 出口总带宽为 50 Mbps
    sudo tc qdisc add dev eth0 root tbf rate 50mbit burst 32kbit latency 400ms
    # 查看
    tc qdisc show dev eth0
    # 删除
    sudo tc qdisc del dev eth0 root
    
    • 要点:当需保障整体带宽分配(例如给管理口或其他服务预留带宽)时使用;对突发流量进行整形。

四 系统与网络层优化

  • 文件描述符与进程限制
    • /etc/security/limits.conf
      * soft nofile 65535
      * hard nofile 65535
      * soft nproc  65535
      * hard nproc  65535
      
    • 使服务与登录会话生效,必要时在 systemd 服务单元中设置 LimitNOFILE=65535
  • TCP 内核参数 /etc/sysctl.conf(按带宽与并发适度调整)
    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_fin_timeout = 30
    net.ipv4.tcp_tw_reuse = 1
    net.ipv4.tcp_keepalive_time = 1200
    net.ipv4.ip_local_port_range = 10000 65000
    net.ipv4.tcp_max_syn_backlog = 8192
    net.ipv4.tcp_max_tw_buckets = 5000
    net.ipv4.tcp_syncookies = 1
    vm.swappiness = 10
    
    • 使配置生效:sudo sysctl -p
    • 要点:增大 收发缓冲区端口范围,开启 TIME_WAIT 重用SYN Cookie,提升高并发下的连接处理能力。
  • 监控与排障
    • 带宽与连接:nload、iftop、nethogs
    • 系统资源:top、vmstat、iostat
    • 建议基线采集与压测结合,逐步调参,避免一次性大幅变更。

五 架构与部署建议

  • 使用 CDN 分发静态资源,开启 gzip/BrotliVary: Accept-Encoding,让边缘节点承担带宽与压缩成本。
  • 启用 HTTP/2(多路复用、头部压缩),减少队头阻塞与连接开销,提升页面并发加载体验。
  • 采用 多运营商线路(三线) 与就近接入,优化跨网访问时延与稳定性。
  • 对动态内容启用 OPcache(PHP)与页面/对象缓存,降低后端计算与数据库压力,间接释放带宽。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: CentOS Apache如何优化网络带宽
本文地址: https://pptw.com/jishu/756828.html
CentOS Apache如何优化MySQL性能 nginx在centos上的错误页面设置

游客 回复需填写必要信息