PHP-FPM內置了狀態頁,開啓後可查看PHP-FPM的詳細運行狀態,給PHP-FPM優化帶來幫助。php
1.打開php-fpm.conf,配置php-fpm狀態頁選項:nginx
pm.status_path = /phpfpm_status //'phpfpm_status' 可自定義
2.配置nginx.conf,添加 serversocket
server { listen 80; server_name 127.0.0.1; #或域名 location /phpfpm_status { fastcgi_pass 127.0.0.1:9000; include fastcgi_params; fastcgi_param SCRIPT_FILENAME $fastcgi_script_name; } }
3.重啓或重載nginx和php-fpmphp-fpm
- service php-fpm restart
- service nginx restart
沒有意外的話,訪問 http://127.0.0.1/phpfpm_status 就能夠看見:優化
參數說明:spa
- pool – fpm進程池名稱,大多數爲www
- process manager – 進程管理方式,值:static, dynamic or ondemand. dynamic
- start time – 啓動日期,若是reload了php-fpm,時間會更新
- start since – 運行時長
- accepted conn – 當前池子接受的請求數
- listen queue – 請求等待隊列,若是這個值不爲0,那麼可能要增長FPM的進程數量
- max listen queue – 請求等待隊列最高的數量
- listen queue len – socket等待隊列長度
- idle processes – 空閒進程數量
- active processes – 活躍進程數量
- total processes – 總進程數量
- max active processes – 最大的活躍進程數量(FPM啓動開始算)
- max children reached - 達到進程最大數量限制的次數。
- slow requests – 啓用了php-fpm slow-log,緩慢請求的數量