centos

CentOS下Apache如何进行性能调优

小樊
40
2025-08-24 18:48:06
栏目: 智能运维

以下是CentOS下Apache性能调优的关键方法:

  1. 启用KeepAlive
    /etc/httpd/conf/httpd.conf中设置:

    KeepAlive On  
    MaxKeepAliveRequests 100  
    KeepAliveTimeout 5  
    

    减少连接建立开销,提升并发处理能力。

  2. 调整MPM模块参数
    编辑/etc/httpd/conf.modules.d/00-mpm.conf,根据服务器资源调整:

    StartServers 5  
    MinSpareServers 5  
    MaxSpareServers 10  
    MaxRequestWorkers 150  # 根据内存调整,建议为物理内存/2  
    MaxConnectionsPerChild 0  # 避免频繁创建子进程  
    

    适用于prefork MPM(CentOS默认),优化并发处理。

  3. 配置静态文件缓存
    启用mod_expires模块,在配置文件中添加:

    <IfModule mod_expires.c>  
      ExpiresActive On  
      ExpiresByType text/css "access plus 30 days"  
      ExpiresByType image/jpeg "access plus 1 year"  
    </IfModule>  
    

    减少静态资源重复请求。

  4. 启用压缩技术
    启用mod_deflate模块,压缩文本类文件:

    <IfModule mod_deflate.c>  
      AddOutputFilterByType DEFLATE text/html text/css application/javascript  
    </IfModule>  
    

    降低传输数据量,提升加载速度。

  5. 优化内核参数
    修改/etc/sysctl.conf,调整如下参数:

    vm.swappiness=10  # 减少Swap使用  
    net.ipv4.tcp_tw_reuse=1  # 复用TCP连接  
    

    提升系统资源利用率。

  6. 禁用不必要的模块
    编辑httpd.conf,注释掉不需要的模块(如mod_rewrite若未使用),减少资源占用。

  7. 使用高效文件系统
    挂载文件系统时使用noatime选项,减少磁盘I/O:

    mount -o remount,noatime /  
    

    适用于高访问场景。

  8. 监控与调优工具

    • 使用tophtop监控系统资源。
    • 通过apachectl -M查看已加载模块,确保无冗余模块。

注意:修改配置后需重启Apache服务:

sudo systemctl restart httpd  

建议在测试环境验证优化效果后再应用到生产环境。

0
看了该问题的人还看了