天天看點

使用php-fpm狀态頁觀察目前的php-fpm狀态

對于php-fpm的參數設定,其内置的幾個參數例如pm.max_children,pm.start_servers等這幾個參數到底該設定最多為多少才合适。其實這幾個參數往往取決于目前的連接配接數情況,而大多數情況下,我們很難斷定目前的連接配接數情況對于我們的pm等幾個參數是否合适。是以借助于php-fpm狀态頁可以很友善的告訴我們這幾個參數的設定是否合适。

1.開啟php-fpm的狀态頁

要開啟php-fpm的狀态頁其實很簡單在nginx的配置檔案中加入:

2.在php-fpm.conf配置檔案中開啟pm.status_path = /status 此處的status可以是自己定義的名稱

具體配置檔案如下:

3.在伺服器上curl,來檢視php-fpm的狀态頁

4.php-fpm的狀态頁中各個參數的介紹:

下面介紹每個參數的作用:

pool:php-fpm池的名稱,一般都是應該是www

process manage:程序的管理方法,php-fpm支援三種管理方法,分别是static,dynamic和ondemand,一般情況下都是dynamic

start time:php-fpm啟動時候的時間,不管是restart或者reload都會更新這裡的時間

start since:php-fpm自啟動起來經過的時間,預設為秒

accepted conn:目前接收的連接配接數

listen queue:在隊列中等待連接配接的請求個數,如果這個數字為非0,那麼最好增加程序的fpm個數

max listen queue:從fpm啟動以來,在隊列中等待連接配接請求的最大值

listen queue len:等待連接配接的套接字隊列大小

idle processes:空閑的程序個數

active processes:活動的程序個數

total processes:總共的程序個數

max active processes:從fpm啟動以來,活動程序的最大個數,如果這個值小于目前的max_children,可以調小此值

max children reached:當pm嘗試啟動更多的程序,卻因為max_children的限制,沒有啟動更多程序的次數。如果這個值非0,那麼可以适當增加fpm的程序數

slow requests:慢請求的次數,一般如果這個值未非0,那麼可能會有慢的php程序,一般一個不好的mysql查詢是最大的禍首。

5.full詳解(php-fpm狀态頁參數)

如果想看到更加詳細的資訊,可以使用localhost/status?full檢視每個子程序更加額外的資訊,拿其中的一個子程序來說明:

pid – 程序PID,可以單獨kill這個程序. You can use this PID to kill a long running process.

state – 目前程序的狀态 (Idle, Running, …)

start time – 程序啟動的日期

start since – 目前程序運作時長

requests – 目前程序處理了多少個請求

request duration – 請求時長(微妙)

request method – 請求方法 (GET, POST, …)

request URI – 請求URI

content length – 請求内容長度 (僅用于 POST)

user – 使用者 (PHP_AUTH_USER) (or ‘-’ 如果沒設定)

script – PHP腳本 (or ‘-’ if not set)

last request cpu – 最後一個請求CPU使用率。

last request memorythe - 上一個請求使用的記憶體

這裡的都比較好了解,主要看下content length和user

content length:這裡記錄的是POST請求的内容長度.

user:如果設定了PHP_AUTH_USER就會顯示對于的值,否則顯示為0.

這裡需要注意的是如果state的狀态為空閑的話,那麼這些相關的資訊将會以最後請求的服務相關,否則資訊取決于目前請求的服務.

6 php-fpm其他參數json、xml、html介紹:

php-fpm狀态頁比較個性化的一個地方是它可以帶參數,可以帶參數json、xml、html并且前面三個參數可以分别和full做一個組合。

參考連結:

<a href="http://www.ttlsa.com/php/use-php-fpm-status-page-detail/">http://www.ttlsa.com/php/use-php-fpm-status-page-detail/</a>

<a href="https://www.2cto.com/os/201408/326878.html">https://www.2cto.com/os/201408/326878.html</a>

 本文轉自 wjw555 51CTO部落格,原文連結:http://blog.51cto.com/wujianwei/2056260