优化Ubuntu上的PHP-FPM可从配置、性能、监控等方面入手,具体如下:
调整进程池参数
pm.max_children
:根据内存计算(单进程约30-80MB),公式为(可用内存-预留内存)/单进程内存
。pm.start_servers
:建议为max_children×0.2
。pm.min/max_spare_servers
:分别设置为max_children×0.1
和0.6
,避免频繁启停。pm.max_requests
:设为500-1000,防止内存泄漏。启用关键优化功能
php.ini
中启用并设置内存(如128MB)、文件缓存数量。opcache
配置中添加opcache.jit=tracing
和opcache.jit_buffer_size=64M
。优化文件与连接配置
fastcgi_pass unix:/run/php/php8.x-fpm.sock
),减少TCP开销。slowlog=/var/log/php-fpm/slow.log
,request_slowlog_timeout=5s
),定位性能瓶颈。系统级优化
www-data
),避免权限问题。监控与调优
htop
、top
查看进程状态,或通过Prometheus+Grafana监控实时指标。systemctl restart php8.x-fpm
定期重启,释放内存。注意:修改配置后需重启PHP-FPM服务,建议先在测试环境验证效果。
参考来源: