前言
大家都知道PHP-FPM內置了狀態頁,開啟後可查看PHP-FPM的詳細運行狀態,給PHP-FPM優化帶來幫助。
打開php-fpm.conf,配置php-fpm狀態頁選項
pm.status_path = /phpfpm_status
配置nginx.conf,添加可訪問server
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; } }
重啟或重載nginx,和php-fpm
service php-fpm restart service nginx restart
浏覽器訪問結果:
可通過帶不同參數查看php-fpm status輸出格式:
http://www.foo.bar/status #默認純文本 http://www.foo.bar/status?json #json格式 http://www.foo.bar/status?html #html格式 http://www.foo.bar/status?xml #xml格式 #full參數可查看進程詳細信息 http://www.foo.bar/status?full http://www.foo.bar/status?json&full http://www.foo.bar/status?html&full http://www.foo.bar/status?xml&full
PHP-FPM status參數說明:
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 - 大道進程最大數量限制的次數,如果這個數量不為0,那說明你的最大進程數量太小了,請改大一點。 slow requests – 啟用了php-fpm slow-log,緩慢請求的數量
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。