ubuntu

Apache在Ubuntu上的性能调优技巧有哪些

小樊
41
2025-11-07 06:59:54
栏目: 智能运维

选择合适的MPM模块
Apache的多路复用模块(MPM)决定了其处理并发请求的方式,需根据场景选择:

调整MPM参数
根据所选MPM优化并发处理能力,关键参数如下:

启用KeepAlive
KeepAlive通过复用TCP连接减少握手开销,提升静态资源(如图片、CSS)加载速度。配置参数:
KeepAlive On:启用持久连接;
MaxKeepAliveRequests 100:单个连接最大请求数(避免单个连接占用过久);
KeepAliveTimeout 5:等待下一个请求的超时时间(秒,建议3-5秒,过长会导致资源浪费)。

启用压缩模块(mod_deflate)
通过压缩HTML、CSS、JavaScript等文本资源,减少传输数据量(通常可压缩至原大小的30%-70%),提升页面加载速度。配置步骤:

  1. 启用模块:sudo a2enmod deflate
  2. 在配置文件中添加规则:
    <IfModule mod_deflate.c>
      AddOutputFilterByType DEFLATE text/html text/plain text/xml text/css application/javascript application/json
    </IfModule>
    

使用缓存模块(mod_cache/mod_disk_cache)
缓存静态资源(如图片、CSS、JS)和动态内容(如数据库查询结果),减少服务器负载和响应时间。配置步骤:

  1. 启用模块:sudo a2enmod cache cache_disk
  2. 设置缓存目录和大小:
    <IfModule mod_cache.c>
      CacheEnable disk /
      CacheRoot "/var/cache/apache2"
      CacheDirLevels 2
      CacheDirLength 1
    </IfModule>
    

禁用不必要的模块
Apache默认启用许多模块,禁用未使用的模块可减少内存和CPU占用。操作步骤:

  1. 查看已启用模块:apache2ctl -M
  2. 禁用模块(如statusautoindex):sudo a2dismod status autoindex
  3. 重启Apache:sudo systemctl restart apache2

优化日志记录
减少日志输出可降低CPU占用,建议:

负载均衡(可选)
若单台服务器无法应对高并发,可使用mod_proxy_balancer模块将请求分发到多台后端服务器。配置示例:

<Proxy balancer://mycluster>
  BalancerMember http://backend1.example.com
  BalancerMember http://backend2.example.com
</Proxy>
ProxyPass / balancer://mycluster

系统级优化

0
看了该问题的人还看了