debian

Debian上LAMP性能优化技巧

小樊
46
2025-08-28 00:25:43
栏目: 智能运维

以下是Debian上LAMP(Linux+Apache+MySQL+PHP)的性能优化技巧:

系统基础优化

  1. 更新系统与软件包

    sudo apt update && sudo apt upgrade  
    

    移除不必要的软件包以释放资源。

  2. 优化内核参数
    编辑 /etc/sysctl.conf,调整以下参数(示例):

    net.ipv4.tcp_tw_reuse = 1  
    net.core.somaxconn = 65535  
    net.ipv4.ip_local_port_range = 1024 65535  
    

    执行 sudo sysctl -p 生效。

Apache性能优化

  1. 选择高效MPM模块

    • 高并发场景用 eventworker 模块,替代默认的 prefork
      sudo a2dismod prefork && sudo a2enmod event  
      sudo systemctl restart apache2  
      
      配置示例(/etc/apache2/mods-available/event.conf):
      <IfModule mpm_event_module>  
          StartServers 2  
          MinSpareThreads 25  
          MaxRequestWorkers 150  
      </IfModule>  
      
  2. 启用缓存与压缩

    • 缓存静态资源:启用 mod_cachemod_cache_disk
    • 压缩传输数据:启用 mod_deflate,添加以下配置:
      <IfModule mod_deflate.c>  
          AddOutputFilterByType DEFLATE text/html text/css application/javascript  
      </IfModule>  
      
  3. 调整并发连接参数

    MaxClients 150  # 根据服务器内存调整,避免超过内存限制  
    KeepAlive On  
    KeepAliveTimeout 5  
    

MySQL/MariaDB优化

  1. 配置缓冲池与连接数
    编辑 /etc/mysql/mariadb.conf.d/50-server.cnf

    [mysqld]  
    innodb_buffer_pool_size = 1G  # 通常设为物理内存的50%-80%  
    max_connections = 200  
    query_cache_size = 0  # MySQL 8.0+ 已弃用,可移除或设为0  
    

    重启服务:sudo systemctl restart mariadb

  2. 索引与查询优化

    • 为高频查询字段添加索引,避免全表扫描。
    • 使用 EXPLAIN 分析慢查询,优化SQL语句。
  3. 定期维护

    sudo mysqlcheck --all-databases --optimize  
    

PHP性能优化

  1. 启用OPcache
    安装并配置OPcache:

    sudo apt install php-opcache  
    

    编辑 php.ini

    [opcache]  
    opcache.enable=1  
    opcache.memory_consumption=128  
    opcache.max_accelerated_files=4000  
    

    重启PHP-FPM或Apache。

  2. 调整PHP配置

    memory_limit = 256M  
    max_execution_time = 30  
    upload_max_filesize = 10M  
    
  3. 使用PHP-FPM
    编辑 /etc/php/7.x/fpm/pool.d/www.conf,优化进程管理参数:

    pm = dynamic  
    pm.max_children = 50  
    pm.start_servers = 10  
    pm.min_spare_servers = 5  
    

    重启PHP-FPM:sudo systemctl restart php7.x-fpm

其他优化措施

注意:修改配置前需备份原文件,建议在测试环境验证后再应用到生产环境。
参考来源:[1,2,6,7,8,9,11,12,13,14]

0
看了该问题的人还看了