以下是CentOS LAMP服务器性能调优的关键技巧,涵盖硬件、系统、服务及缓存等方面:
一、硬件与系统基础优化
- 升级硬件:增加CPU、内存,使用SSD替代HDD以提升I/O性能。
- 优化内核参数:
- 调整TCP连接参数(如
net.ipv4.tcp_tw_reuse=1、vm.swappiness=10)减少内存占用。 - 增加文件句柄数
fs.file-max以应对高并发。
- 调整TCP连接参数(如
- 关闭非必要服务:通过
systemctl disable关闭如firewalld(若需防火墙可配置规则)。
二、服务配置优化
1. Apache优化
- 调整MPM模块:选择
event或worker模式(/etc/httpd/conf.modules.d/00-mpm.conf),设置MaxRequestWorkers匹配服务器资源。 - 启用缓存与压缩:
mod_cache缓存静态内容,mod_deflate启用Gzip压缩。- 配置
KeepAliveTimeout=5、MaxKeepAliveRequests=100减少连接开销。
2. MySQL/MariaDB优化
- 内存与缓存:
innodb_buffer_pool_size设为系统内存的50%-80%。- 启用查询缓存
query_cache_type=1(注意:MySQL 8.0+需谨慎使用)。
- 索引与查询优化:
- 为高频查询字段创建索引,避免
SELECT *,使用EXPLAIN分析慢查询。 - 定期执行
OPTIMIZE TABLE清理碎片。
- 为高频查询字段创建索引,避免
3. PHP优化
- 启用OPcache:通过
php.ini配置opcache.enable=1,缓存字节码提升执行效率。 - 调整内存与进程:设置
memory_limit=256M,优化php-fpm参数(如pm.max_children)匹配负载。 - 代码优化:减少循环嵌套,使用预编译语句(如PDO)防止SQL注入。
三、缓存与网络优化
- 应用层缓存:部署Memcached/Redis缓存数据库查询结果,减少重复请求。
- HTTP缓存:通过
mod_expires设置静态资源缓存时间(如图片、CSS缓存1年)。 - 网络调优:
- 调整
/etc/sysctl.conf中net.core.somaxconn=1024提升TCP连接队列长度。 - 使用CDN加速静态资源分发,减轻服务器压力。
- 调整
四、监控与持续调优
- 工具监控:使用
top、vmstat、iostat监控资源使用,或部署Zabbix/Prometheus进行可视化分析。 - 定期维护:清理无用日志,优化数据库表结构,更新系统和软件补丁。
注意:优化前需备份数据,测试环境验证配置,避免影响生产环境稳定性。
参考来源:[1,2,3,5,6,7,8,9,10,11,12,13,14]