調整 PHP-FPM(FastCGI Process Manager)的進程管理器參數可以優化 PHP 應用程序的性能和資源利用率。以下是一些常見的參數及其調整方法:
pm
參數pm
參數決定了 PHP-FPM 使用的進程管理方式。常見的值有 dynamic
、static
、ondemand
和 lazy
。
ondemand
,但會保持一些空閑進程。pm = dynamic
pm.max_children
參數pm.max_children
參數定義了可以同時運行的最大子進程數。
pm.max_children = 50
pm.start_servers
參數pm.start_servers
參數定義了啟動時創建的子進程數。
pm.start_servers = 5
pm.min_spare_servers
參數pm.min_spare_servers
參數定義了最小空閑子進程數。
pm.min_spare_servers = 5
pm.max_spare_servers
參數pm.max_spare_servers
參數定義了最大空閑子進程數。
pm.max_spare_servers = 35
pm.max_requests
參數pm.max_requests
參數定義了一個子進程在被重啟之前可以處理的請求數量,有助于防止內存泄漏。
pm.max_requests = 500
request_terminate_timeout
參數request_terminate_timeout
參數定義了腳本執行的最大時間,超過這個時間將被終止。
request_terminate_timeout = 0
pm.status_path
參數pm.status_path
參數定義了一個用于監控 PHP-FPM 狀態的路徑。
pm.status_path = /status
php-fpm.conf
或 www.conf
文件(具體文件名取決于你的系統)。sudo systemctl restart php-fpm
調整參數后,監控服務器的性能和資源使用情況,確保調整后的配置能夠滿足需求并且不會導致資源浪費或性能下降。
通過這些步驟,你可以有效地調整 PHP-FPM 的進程管理器參數,優化你的 PHP 應用程序的性能。