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

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

轉自

http://www.phpddt.com/php/php-fpm-monitor.html

PHP-FPM內建了狀態頁,開啟後可檢視PHP-FPM的詳細執行狀態,給PHP-FPM優化帶來幫助。
開啟php-fpm.conf,配置php-fpm狀態頁選項

  1. pm.status_path =/phpfpm_status

配置nginx.conf,新增可訪問server
  1. server {
  2. listen 80;
  3. server_name 127.0.0.1;
  4. location /phpfpm_status {
  5. fastcgi_pass 127.0
    .0.1:9000;
  6. include fastcgi_params;
  7. fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
  8. }
  9. }

重啟或過載nginx,和php-fpm
  1. service php-fpm restart
  2. service nginx restart

瀏覽器訪問結果:
2015-09-03_133516.png
通過帶不同引數檢視php-fpm status輸出格式
  1. http://www.foo.bar/status #預設純文字
  2. http://www.foo.bar/status?json #json格式
  3. http://www.foo.bar/status?html #html格式
  4. http://www.foo.bar/status?xml #xml格式
  5. #full引數可檢視程序詳細資訊
  6. http://www.foo.bar/status?full
  7. http://www.foo.bar/status?json&full
  8. http://www.foo.bar/status?html&full
  9. http://www.foo.bar/status?xml&full

PHP-FPM status引數說明
  1. pool fpm池子名稱,大多數為www
  2. process manager 程序管理方式,值:static,dynamicor ondemand.dynamic
  3. start time 啟動日期,如果
    reloadphp-fpm,時間會更新
  4. start since 執行時長
  5. accepted conn 當前池子接受的請求數
  6. listen queue 請求等待佇列,如果這個值不為0,那麼要增加FPM的程序數量
  7. max listen queue 請求等待佇列最高的數量
  8. listen queue len socket等待佇列長度
  9. idle processes 空閒程序數量
  10. active processes 活躍程序數量
  11. total processes 總程序數量
  12. max active processes 最大的活躍程序數量(FPM啟動開始算)
  13. max children reached -大道程序最大數量限制的次數,如果這個數量不為0,那說明你的最大程序數量太小了,請改大一點。
  14. slow requests 啟用了php-fpm slow-log,緩慢請求的數量