要優化Linux PHP-FPM的資源使用,可以從以下幾個方面入手:
pm.max_children
(最大子進程數量),pm.start_servers
(啟動時的子進程數),pm.min_spare_servers
和pm.max_spare_servers
(空閑子進程的最小和最大數量)。pm.max_requests
(每個子進程在被重新生成之前可以處理的請求數),建議設置為幾千到幾萬,防止內存泄漏。request_terminate_timeout
(單個請求最大執行時間),建議10~60秒,防止長時間卡死。request_slowlog_timeout
(慢日志閾值)和slowlog
(慢日志文件路徑),開啟慢日志,便于排查慢請求。/etc/systemd/system/php-fpm.service
或/lib/systemd/system/php-fpm.service
的[Service]部分添加LimitNOFILE
和LimitMEMLOCK
來設置文件描述符限制和內存鎖定限制。cgroup-tools
。ulimit -n
和ulimit -m
來設置文件描述符限制和內存鎖定限制。htop
、vmstat
、iostat
等監控服務器的性能指標,并根據實際情況進行調整。gc_collect_cycles()
函數手動觸發垃圾回收。unset()
釋放不再使用的變量。請注意,進行任何配置更改后,都應該重新啟動PHP-FPM服務以使更改生效。此外,不同的Linux發行版和PHP版本可能會有些許差異,因此在進行配置之前,請確保查閱相關的官方文檔或教程,以確保正確配置PHP-FPM。