在 Ubuntu 上优化 PHP-FPM 性能,通常从 PHP 配置、FPM 进程管理、系统资源、缓存、OPcache 等方面入手。下面按「实用优先级」给你一套提速方案。
PHP 默认没开 OPcache,开启后性能可提升 2–5 倍。
sudo apt install php-opcache
编辑:
sudo nano /etc/php/8.2/fpm/conf.d/10-opcache.ini
推荐配置:
opcache.enable=1
opcache.memory_consumption=256
opcache.interned_strings_buffer=16
opcache.max_accelerated_files=10000
opcache.revalidate_freq=60
opcache.validate_timestamps=0 ; 生产环境建议关
opcache.jit=1255
opcache.jit_buffer_size=128M
重启:
sudo systemctl restart php8.2-fpm
配置文件:
/etc/php/8.2/fpm/pool.d/www.conf
dynamic 或 ondemand)pm = dynamic
pm.max_children = 50
pm.start_servers = 10
pm.min_spare_servers = 5
pm.max_spare_servers = 20
pm.max_requests = 500
公式参考:
max_children ≈ 内存 / 单进程内存
查看单进程内存:
ps -ylC php-fpm8.2 --sort:rss
减少内存 & 启动开销。
php -m
禁用不用的:
sudo phpdismod <module>
常见可关:
xdebug(生产必须关)profilerUbuntu 上尽量用:
sudo apt install php8.3-fpm
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
fastcgi_read_timeout 60;
sudo apt install php-apcu
apc.enable=1
apc.shm_size=128M
适合 Session、缓存数据。
ulimit -n 65535
sudo sysctl -w net.core.somaxconn=65535
✅ 关闭 display_errors
✅ 开启 error_log
✅ 使用 opcache.validate_timestamps=0
✅ 定期 php-fpm 重启(可选)
htop
journalctl -u php8.2-fpm
如果你愿意,可以告诉我:
我可以直接帮你算一套最优 php-fpm 配置。