在 Debian 上 PHP 慢,通常可以从系统、PHP 配置、代码、数据库、运行方式几个层面来排查和优化。下面给你一套实用思路(从最常见到进阶)。
不要一上来就改配置,先定位:
top
htop
看是:
再看 PHP 是哪种运行方式:
php -v
常见:
mod_php(Apache)php-fpm(Nginx / Apache)ls /etc/php/*/fpm/pool.d/
一般是 www.conf
pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
经验值:
max_children = 20~3040~60改完:
systemctl restart php-fpm
编辑:
/etc/php/*/fpm/php.ini
expose_php = Off
allow_url_fopen = Off # 如不需要
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60
安装:
apt install php-opcache
www.conf:
slowlog = /var/log/php-fpm-slow.log
request_slowlog_timeout = 2s
重启后看:
tail -f /var/log/php-fpm-slow.log
经常能看到:
file_get_contentsMySQL:
SHOW VARIABLES LIKE 'slow_query%';
开启:
slow_query_log = 1
long_query_time = 1
90% 的 PHP 慢,其实是 SQL 慢。
✅ 常见慢点:
file_get_contents(http://...)foreach✅ 解决:
curl + 超时fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
用 event MPM 而不是 prefork
a2dismod php*
a2enmod proxy_fcgi setenvif
sed -i 's/deb.debian.org/mirrors.aliyun.com/g' /etc/apt/sources.list
apt update
iotop
机械盘 → 换 SSD 立竿见影
如果你愿意,可以告诉我:
我可以直接帮你给一套具体配置。