温馨提示×

LAMP在Debian运行慢怎么办

小樊
46
2026-10-01 20:14:30
栏目: 智能运维

在 Debian 上运行 LAMP(Linux + Apache + MySQL/MariaDB + PHP)变慢,通常可以从系统资源、服务配置、代码和数据库几个层面来排查和优化。下面给你一套实用思路。


一、先确认“慢”在哪里

先判断是整体慢还是某一部分慢:

top
htop
free -h
df -h

重点关注:

  • CPU 是否长期 100%
  • 内存是否不够(开始用 swap)
  • 磁盘是否 IO 很高
  • 网络是否瓶颈

二、Apache 优化(最常见)

1. 选择合适的 MPM

Debian 默认可能是 mpm_prefork(慢且吃内存)

查看:

apachectl -V | grep MPM

推荐:

  • PHP + 高并发:mpm_event + php-fpm
  • 低内存机器:减少进程数

切换示例(event + php-fpm):

a2dismod php8.2 mpm_prefork
a2enmod mpm_event proxy_fcgi setenvif
a2enconf php8.2-fpm
systemctl restart apache2

2. 调整 Apache 配置

/etc/apache2/mods-enabled/mpm_event.conf

<IfModule mpm_event_module>
    StartServers             2
    MinSpareThreads         25
    MaxSpareThreads         75
    ThreadLimit             64
    ThreadsPerChild         25
    MaxRequestWorkers      150
    MaxConnectionsPerChild   0
</IfModule>

三、PHP 优化

1. 使用 PHP-FPM(强烈推荐)

apt install php-fpm

2. 调整 php-fpm

/etc/php/8.2/fpm/pool.d/www.conf

pm = dynamic
pm.max_children = 20
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 10

3. 开启 OPcache

apt install php-opcache

/etc/php/8.2/fpm/conf.d/10-opcache.ini

opcache.enable=1
opcache.memory_consumption=128
opcache.revalidate_freq=60

四、MySQL / MariaDB 优化

1. 查看慢查询

SHOW VARIABLES LIKE 'slow_query%';

开启慢查询日志:

slow_query_log = 1
slow_query_log_file = /var/log/mysql/slow.log
long_query_time = 1

2. 基础优化(小内存示例)

/etc/mysql/mariadb.conf.d/50-server.cnf

innodb_buffer_pool_size = 256M
query_cache_size = 0
max_connections = 100

注意:MySQL 8 已移除 query cache


五、系统与磁盘优化

1. 使用 SSD

如果是虚拟机/云服务器,HDD 会非常慢。

2. 减少 swap 使用

sysctl vm.swappiness=10

3. 文件描述符限制

ulimit -n 65535

六、代码层面(很容易被忽略)

  • 避免 SELECT *
  • 加索引
  • 减少 PHP 循环里查数据库
  • 使用缓存(Redis / Memcached)
  • 关闭 display_errors(生产环境)

七、快速自查清单 ✅

  • [ ] 是否用了 php-fpm
  • [ ] 是否开启 OPcache
  • [ ] Apache MPM 是否合理
  • [ ] 数据库是否有慢查询
  • [ ] 内存是否不足
  • [ ] 是否在用 HDD

如果你愿意,可以告诉我:

  • Debian 版本
  • Apache / PHP / MySQL 版本
  • 是本地访问慢还是公网访问慢
  • 服务器配置(CPU / 内存)

我可以帮你给出针对性配置。

0 踩