優化Linux PHP-FPM(FastCGI Process Manager)的啟動速度可以通過多種方法來實現。以下是一些常見的優化策略:
在php-fpm.conf
或www.conf
文件中,增加以下參數:
pm = dynamic
pm.max_children = 50
pm.start_servers = 5
pm.min_spare_servers = 5
pm.max_spare_servers = 35
這些參數可以根據你的服務器資源進行調整。
pm.max_requests = 500
這個參數可以防止內存泄漏,但會增加重啟頻率。
較新的PHP版本通常會有更好的性能優化。確保你使用的是最新穩定版本的PHP。
OPcache可以顯著提高PHP腳本的執行速度。確保在php.ini
中啟用了OPcache:
[opcache]
zend_extension=opcache.so
opcache.enable=1
opcache.memory_consumption=128
opcache.interned_strings_buffer=8
opcache.max_accelerated_files=4000
opcache.revalidate_freq=60
只加載必要的PHP模塊,減少啟動時的開銷。在php.ini
中注釋掉不需要的模塊:
;extension=gd
;extension=mysqli
如果你的服務器使用的是HDD,考慮升級到SSD。SSD的讀寫速度遠高于HDD,可以顯著減少PHP-FPM的啟動時間。
編輯/etc/security/limits.conf
文件,增加以下行:
* soft nofile 65535
* hard nofile 65535
編輯/etc/sysctl.conf
文件,增加以下行:
fs.file-max = 100000
net.core.somaxconn = 65535
net.ipv4.tcp_max_syn_backlog = 65535
net.ipv4.ip_local_port_range = 1024 65535
然后運行sysctl -p
使更改生效。
PHP 7.2及以上版本支持預加載。在php-fpm.conf
中啟用預加載:
php_admin_value[preload] = 1
然后創建一個preload.conf
文件,列出需要預加載的擴展:
extension=mysqli
extension=pdo_mysql
使用工具如systemd-analyze
和htop
來監控系統性能,找出瓶頸并進行優化。
通過以上方法,你可以顯著提高Linux PHP-FPM的啟動速度。根據你的具體需求和服務器配置,選擇合適的優化策略。