1. 程式人生 > 其它 >實時檢視及監控PHP-FPM的執行狀態

實時檢視及監控PHP-FPM的執行狀態

開啟php-fpm.conf,配置php-fpm狀態頁選項

pm.status_path = /phpfpm_status(預設值為:status)

配置nginx.conf,新增可訪問server(不用放在http內)

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,緩慢請求的數量