以下是Ubuntu Apache2性能调优的关键方法:
选择合适MPM
prefork,线程安全选worker或event(推荐event,支持高并发)。a2dismod/a2enmod切换模块,修改/etc/apache2/mods-enabled/下对应配置文件参数(如MaxRequestWorkers、ThreadsPerChild)。优化MPM参数
StartServers:启动时进程数,建议设为CPU核心数。MaxRequestWorkers:最大并发处理数,根据服务器内存计算(如内存/单个进程占用)。MaxConnectionsPerChild:限制单个进程处理请求数,避免内存泄漏(建议设为1000-10000)。启用高效模块与缓存
mod_deflate压缩传输数据,mod_expires缓存静态资源(如图片、CSS)。mod_cache搭配mod_mem_cache或mod_disk_cache缓存动态内容。调整系统与网络参数
sudo sysctl -w fs.file-max=100000,并写入/etc/sysctl.conf。vm.swappiness设为10-20(减少交换分区使用),net.core.somaxconn设为较大值(如2048)。限制并发与负载均衡
KeepAlive(建议On)和KeepAliveTimeout(如5-10秒),平衡连接复用与资源占用。mod_proxy模块配置负载均衡,分散请求到多台服务器。硬件与系统级优化
监控与调优验证
top/htop监控内存和CPU使用,ab(ApacheBench)测试并发性能。mod_status模块(sudo a2enmod status),通过Web界面查看实时状态。注意:每次修改配置后需重启Apache(sudo systemctl restart apache2),建议先在测试环境验证。
参考来源: