在 Ubuntu 上优化 PHP 性能,通常可以从 PHP 版本、PHP-FPM、OPcache、代码与依赖、Web 服务器、系统层面 几个方面入手。下面是一套比较实用、可落地的优化方案(以 Ubuntu + Nginx/Apache + PHP-FPM 为例)。
旧版本性能差距明显:
sudo apt update
sudo apt install php8.3 php8.3-fpm php8.3-cli
建议使用:
OPcache 能显著减少 PHP 解析和编译开销。
sudo apt install php8.3-opcache
编辑:
sudo vim /etc/php/8.3/fpm/php.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_buffer_size=128M
opcache.jit=1255
重启:
sudo systemctl restart php8.3-fpm
PHP-FPM 配置影响并发能力。
/etc/php/8.3/fpm/pool.d/www.conf
动态(推荐):
pm = dynamic
pm.max_children = 100
pm.start_servers = 20
pm.min_spare_servers = 10
pm.max_spare_servers = 30
高并发(固定):
pm = static
pm.max_children = 100
公式参考:
max_children ≈ 可用内存 / 单个PHP进程内存
查看单个进程内存:
ps aux | grep php-fpm
减少内存和加载时间:
php -m
禁用不用的:
sudo phpdismod exif ftp soap
fastcgi_buffers 16 16k;
fastcgi_buffer_size 32k;
fastcgi_read_timeout 60;
gzip on;
gzip_min_length 1k;
启用:
sudo nginx -t
sudo systemctl reload nginx
已说明 ✅
sudo apt install redis-server
sudo apt install php8.3-redis
requirevar_dump() 上线ulimit -n 65535
sudo sysctl -w net.core.somaxconn=65535
abwrkphp-fpm statusblackfiretideways✅ PHP 8.x
✅ OPcache 开
✅ JIT 开
✅ PHP-FPM 调优
✅ Redis 缓存
✅ Nginx gzip
✅ 禁用 debug
如果你愿意,我可以:
php-fpm status 或 top 输出你目前用的是 Ubuntu 几?PHP 几?Nginx 还是 Apache?