以下是Debian LAMP(Linux+Apache+MySQL+PHP)的性能优化技巧:
系统层面
- 更新系统与软件包
定期执行sudo apt update && sudo apt upgrade,确保内核和软件包为最新版本,获取性能优化和安全补丁。 - 优化内核参数
编辑/etc/sysctl.conf,调整如net.ipv4.tcp_tw_reuse=1、net.core.somaxconn=65535等参数,提升网络和文件系统性能。 - 移除不必要的软件包
使用sudo apt purge删除不需要的服务(如bind9-*),减少资源占用。
Web服务器优化(Apache)
- 选择高效MPM模块
从prefork切换至worker或event模块,提升并发处理能力。sudo a2dismod prefork && sudo a2enmod worker && sudo systemctl restart apache2 - 启用缓存模块
启用mod_cache和mod_expires缓存静态资源,减少重复请求。 - 调整并发参数
修改MaxClients、MaxRequestsPerChild等参数,平衡资源使用和并发能力。
数据库优化(MySQL/MariaDB)
- 配置InnoDB存储引擎
设置innodb_buffer_pool_size为服务器内存的50%-80%,提升数据读写效率。 - 优化查询与索引
使用EXPLAIN分析慢查询,添加合适索引,避免全表扫描。 - 定期维护
执行OPTIMIZE TABLE整理表碎片,更新统计信息。
PHP优化
- 启用OPcache
安装并配置php-opcache,缓存编译后的PHP脚本,减少执行时间。 - 调整PHP配置
在php.ini中优化memory_limit、max_execution_time等参数,适配应用需求。 - 使用PHP-FPM
替代传统Apache模块,提升PHP进程管理效率。
网络与缓存优化
- 启用Gzip压缩
在Apache中启用mod_deflate,压缩传输数据,减少带宽占用。 - 使用CDN
将静态资源(图片、CSS等)托管至CDN,减轻服务器负载。 - 限制端口与服务
通过ufw防火墙仅开放必要端口(如80、443),关闭非必要服务。
监控与调优工具
- 系统监控:使用
htop、top、vmstat等工具实时查看资源使用情况。 - 日志分析:定期检查Apache和MySQL日志,定位性能瓶颈。
注意:修改配置前需备份数据,建议在测试环境验证后再应用到生产环境[3,5,9,10,11,12,13,14]。