温馨提示×

CentOS LAMP性能调优秘籍

小樊
57
2025-09-12 00:22:01
栏目: 智能运维

以下是CentOS LAMP(Linux+Apache+MySQL+PHP)性能调优的核心秘籍,涵盖硬件、系统、服务及监控层面:

一、硬件与系统基础优化

  • 硬件升级:采用SSD存储替代HDD,增加内存和CPU核心数,提升I/O和计算效率。
  • 内核参数调优
    • 编辑/etc/sysctl.conf,设置vm.swappiness=10减少交换,net.ipv4.tcp_tw_reuse=1优化TCP连接复用。
    • 调整文件句柄限制:修改/etc/security/limits.conf,增大nofile值以支持高并发。

二、Apache性能优化

  • 配置多处理模块(MPM)
    • 动态内容选worker/event模式,静态内容选prefork,调整MaxRequestWorkers(建议设置为内存的10%-15%)。
  • 启用缓存与压缩
    • mod_cache+mod_disk_cache缓存静态内容,mod_deflate启用Gzip压缩减少传输体积。
  • 连接优化
    • 启用KeepAlive并设置MaxKeepAliveRequests=100KeepAliveTimeout=5,平衡连接复用与资源占用。

三、MySQL/MariaDB优化

  • 内存与缓存配置
    • innodb_buffer_pool_size设为服务器内存的50%-80%,innodb_log_file_size设为256M-512M。
    • 启用查询缓存:query_cache_type=1query_cache_size=64M(注意:MySQL 8.0+已移除查询缓存,需用应用层缓存替代)。
  • 索引与查询优化
    • 为高频查询字段创建索引,避免全表扫描;使用EXPLAIN分析慢查询。
  • 并发与日志
    • 调整max_connections匹配服务器负载,关闭不必要的二进制日志(如非主从复制场景)。

四、PHP性能优化

  • 启用OPcache
    • 安装php-opcache,在php.ini中设置opcache.enable=1opcache.memory_consumption=128(根据内存调整)。
  • 代码级优化
    • 减少函数嵌套,使用高效的数据结构;避免SELECT *,只查询必要字段。
  • 配置优化
    • 调整php.inimemory_limit(如256M)、max_execution_time,关闭display_errors生产环境。

五、缓存与架构优化

  • 应用层缓存
    • 使用Memcached/Redis缓存数据库查询结果,减少重复查询。
  • HTTP缓存
    • 通过mod_expires设置静态文件缓存时间(如CSS/JS缓存1年),降低服务器负载。
  • 负载均衡(高并发场景)
    • 使用Nginx反向代理+Keepalived实现负载均衡,分散Apache压力。

六、监控与持续调优

  • 工具部署
    • top/htop监控CPU/内存,vmstat/iostat分析系统负载,mysqltuner优化数据库参数。
  • 日志分析
    • 定期查看Apache错误日志(/var/log/httpd/error_log)和MySQL慢查询日志,定位性能瓶颈。

注意事项

  • 每次优化前备份配置文件,测试环境验证后再应用到生产环境。
  • 避免过度优化,优先保证系统稳定性,根据实际业务负载动态调整参数。

参考来源:[1,2,3,4,6,7,8,9,10,11,12,13,14]

0