php-fpm 性能最大化

PHP-FPM是一個PHPFastCGI管理器,FPM (FastCGI Process Manager)是一個PHP的進程管理器,包含 master 進程和 worker 進程兩種進程:master 進程只有一個,負責監聽端口,接收來自 Web Server 的請求,而 worker 進程則一般有多個
PHP-FPM提供了更好的PHP進程管理方式,可以有效控制內存和進程、可以平滑重載PHP配置

查看php-fpm進程數: ps aux | grep -c php-fpm

全局配置:一定時間內進程失效,讓php-fpm重啓
emergency_restart_threshold=60
emergency_restart_interval=1m
進程池配置:
user=運行php的非root用戶
group=運行php的非root用戶組
設置接受fast_cgi的請求地址:
listen=127.0.0.1:9000或/path/to/unix/socket
設置允許連接到Fastcg的服務器IP地址:
listen.allowed_clients=127.0.0.1
運行模式:statis/dynamic/ondemand
固定數量的子進程:
pm=static
pm.max_children=20
默認配置:通過進程範圍與閒置進程控制
pm=dynamic
pm.start_servers=10
pm.max_children=30
pm.min_spare_servers=2
pm.max_spare_servers=4
最大化優化服務器響應:進程閒置N秒後就會被殺掉
pm=ondemand
pm.process_idle_timeout=5;

內存泄漏:負載大大,內存迅速增加,請求會被php-cgi回收內存,但不會釋放給系統
方案:修改:php-fpm;max_requests=1000、max_chidren

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章