以下是CentOS下Apache性能调优的关键方法:
启用KeepAlive
在/etc/httpd/conf/httpd.conf
中设置:
KeepAlive On
MaxKeepAliveRequests 100
KeepAliveTimeout 5
减少连接建立开销,提升并发处理能力。
调整MPM模块参数
编辑/etc/httpd/conf.modules.d/00-mpm.conf
,根据服务器资源调整:
StartServers 5
MinSpareServers 5
MaxSpareServers 10
MaxRequestWorkers 150 # 根据内存调整,建议为物理内存/2
MaxConnectionsPerChild 0 # 避免频繁创建子进程
适用于prefork MPM(CentOS默认),优化并发处理。
配置静态文件缓存
启用mod_expires
模块,在配置文件中添加:
<IfModule mod_expires.c>
ExpiresActive On
ExpiresByType text/css "access plus 30 days"
ExpiresByType image/jpeg "access plus 1 year"
</IfModule>
减少静态资源重复请求。
启用压缩技术
启用mod_deflate
模块,压缩文本类文件:
<IfModule mod_deflate.c>
AddOutputFilterByType DEFLATE text/html text/css application/javascript
</IfModule>
降低传输数据量,提升加载速度。
优化内核参数
修改/etc/sysctl.conf
,调整如下参数:
vm.swappiness=10 # 减少Swap使用
net.ipv4.tcp_tw_reuse=1 # 复用TCP连接
提升系统资源利用率。
禁用不必要的模块
编辑httpd.conf
,注释掉不需要的模块(如mod_rewrite
若未使用),减少资源占用。
使用高效文件系统
挂载文件系统时使用noatime
选项,减少磁盘I/O:
mount -o remount,noatime /
适用于高访问场景。
监控与调优工具
top
、htop
监控系统资源。apachectl -M
查看已加载模块,确保无冗余模块。注意:修改配置后需重启Apache服务:
sudo systemctl restart httpd
建议在测试环境验证优化效果后再应用到生产环境。