在Ubuntu上調優PHP-FPM(FastCGI Process Manager)可以顯著提高PHP應用程序的性能。以下是一些常見的調優步驟和建議:
首先,確保你已經安裝了PHP-FPM。如果沒有安裝,可以使用以下命令進行安裝:
sudo apt update
sudo apt install php-fpm
PHP-FPM的配置文件通常位于/etc/php/{version}/fpm/pool.d/www.conf
,其中{version}
是你的PHP版本號(例如7.4、8.0等)。
編輯www.conf
文件,調整以下參數:
pm
:選擇進程管理模式,常用的有dynamic
、ondemand
和static
。
dynamic
:根據負載動態調整進程數。ondemand
:按需啟動進程。static
:固定進程數。pm.max_children
:最大子進程數。pm.start_servers
:啟動時的服務器進程數。pm.min_spare_servers
:最小空閑服務器進程數。pm.max_spare_servers
:最大空閑服務器進程數。例如,對于dynamic
模式:
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
request_terminate_timeout
:請求超時時間,單位為秒。slowlog_timeout
:慢請求日志超時時間,單位為秒。例如:
request_terminate_timeout = 30s
slowlog_timeout = 30s
編輯/etc/php/{version}/fpm/php.ini
文件,調整以下參數:
memory_limit
:每個PHP進程的內存限制。max_execution_time
:腳本最大執行時間,單位為秒。post_max_size
:POST請求的最大大小。upload_max_filesize
:上傳文件的最大大小。例如:
memory_limit = 256M
max_execution_time = 300
post_max_size = 50M
upload_max_filesize = 50M
確保PHP-FPM的日志文件路徑正確,并定期檢查日志文件以監控性能和錯誤。
access.log
:訪問日志。error.log
:錯誤日志。在調整配置后,重啟PHP-FPM服務以應用更改:
sudo systemctl restart php{version}-fpm
使用工具如htop
、top
、php-fpm-status
等來監控PHP-FPM的性能和資源使用情況。
通過以上步驟,你可以有效地調優PHP-FPM,提高Ubuntu上PHP應用程序的性能。