優化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服務,建議先在測試環境驗證效果。
參考來源: