在其他人誤解之前
"請求持續時間 服務請求所花費的總時間(以秒為單位)。"
這不是該程序完成的所有請求的總時間,而是上次完成的請求所使用的時間(閒置狀態),或目前的請求(所有其他狀態)。
給定的數字不是以秒為單位,而是以微秒為單位。
FPM 狀態說明文件一團糟。
此頁面提供有關 FPM 狀態頁面的設定和內容資訊。另請參閱 fpm_get_status()。
可以通過在 FPM 池組態中設定 pm.status_path 組態參數來啟用 FPM 狀態頁面。
為了安全起見,FPM 狀態頁面應僅限於內部請求或已知的客戶端 IP,因為該頁面會揭露請求 URL 和有關可用資源的資訊。
根據網頁伺服器組態,可能需要組態網頁伺服器以允許直接向此路徑發出請求,繞過任何 PHP 腳本。一個針對 Apache 的組態範例,FPM 監聽 UDS,並且 pm.status_path
設定為 /fpm-status
,看起來會像這樣
<LocationMatch "/fpm-status"> Order Allow,Deny Allow from 127.0.0.1 ProxyPass "unix:/var/run/php-fpm.sock|fcgi://127.0.0.1/fpm-status" </LocationMatch>
重新載入或重新啟動 FPM 和網頁伺服器之後,可以從瀏覽器存取狀態頁面(只要請求來自允許的 IP 位址,如果已組態 IP 限制)。
可以通過指定以下查詢參數之一來更改狀態頁面輸出的格式
html
json
openmetrics
xml
也可以使用 full
查詢參數來傳回其他資訊。
狀態頁面 URL 範例
https://127.0.0.1/fpm-status
- 預設文字格式的簡要輸出https://127.0.0.1/fpm-status?full
- 預設文字格式的完整輸出https://127.0.0.1/fpm-status?json
- JSON 格式的簡要輸出https://127.0.0.1/fpm-status?html&full
- HTML 格式的完整輸出日期/時間值在 JSON 和 XML 輸出中使用 Unix 時間戳記格式,否則它們使用以下範例日期 "03/Jun/2021:07:21:46 +0100"
所產生的格式。
參數 | 描述 |
---|---|
池 | FPM 程序池的名稱。 |
程序管理器 | 程序管理器類型 - static、dynamic 或 ondemand。 |
開始時間 | 程序池上次啟動的日期/時間。 |
啟動以來 | 程序池上次啟動後的秒數。 |
接受的連線 | 已接受連線的總數。 |
監聽佇列 | 目前等待可用程序的請求數 (backlog)。 |
最大監聽佇列 | 在任何時間點上,監聽佇列中出現的最大請求數。 |
監聽佇列長度 | 監聽佇列允許的最大大小。 |
閒置程序 | 目前閒置(等待請求)的程序數。 |
活動程序 | 目前正在處理請求的程序數。 |
程序總數 | 目前程序的總數。 |
最大活動程序 | 並行活動程序的最大數量。 |
已達到最大子程序 | 是否曾經達到程序的最大數量?如果是,則顯示的值大於或等於 1 ,否則該值為 0 。 |
慢速請求 | 已達到已組態 request_slowlog_timeout 的請求總數。 |
參數 | 描述 |
---|---|
pid | 程序的系統 PID。 |
狀態 | 程序的狀態 - 閒置、執行中、... |
開始時間 | 程序啟動的日期/時間。 |
啟動以來 | 程序啟動後的秒數。 |
請求 | 已服務的請求總數。 |
請求持續時間 | 服務上次請求所花費的總時間(以微秒為單位)。 |
請求方法 | 上次服務請求的 HTTP 方法。 |
請求 URI | 上次服務請求的 URI(在網頁伺服器處理之後,如果您使用前端控制器模式重新導向,它可能始終是 /index.php )。 |
內容長度 | 上次請求的請求主體長度(以位元組為單位)。 |
使用者 | 上次請求的 HTTP 使用者 (PHP_AUTH_USER )。 |
腳本 | 上次請求執行的腳本的完整路徑。如果沒有適用(例如:狀態頁面請求),則為 '-' 。 |
上次請求 CPU | 上次請求的 % CPU。如果程序不是閒置狀態,則此值為 0,因為計算是在請求處理完成時完成的。該值可以超過 100%,因為度量標準將告知在上次請求中使用了總 CPU 時間的百分比 - 將所有核心上的程序都考慮在內,而 100% 僅針對一個核心。 |
上次請求記憶體 | 上次請求消耗的最大記憶體量。如果程序不是閒置狀態,則此值為 0,因為計算是在請求處理完成時完成的。 |
注意:
所有值都是特定於池的,並在 FPM 重新啟動時重設。
注意:
OpenMetrics 格式輸出使用不同的參數類型,以更好地適應 OpenMetrics 格式。參數及其值的描述包含在 OpenMetrics 格式輸出中。
版本 | 描述 |
---|---|
8.1.0 | 新增了 openmetrics 格式。 |
在其他人誤解之前
"請求持續時間 服務請求所花費的總時間(以秒為單位)。"
這不是該程序完成的所有請求的總時間,而是上次完成的請求所使用的時間(閒置狀態),或目前的請求(所有其他狀態)。
給定的數字不是以秒為單位,而是以微秒為單位。
FPM 狀態說明文件一團糟。
為了記錄,如果您未使用套接字(遠端 php-fpm),這裡是要新增到您虛擬主機的行
ProxyPassMatch ^/status$ fcgi://[FPM-HOST]:[FPM-PORT]/status