首頁  >  文章  >  後端開發  >  教你用php-fpm的status查看詳細信息

教你用php-fpm的status查看詳細信息

藏色散人
藏色散人轉載
2021-12-09 16:26:006313瀏覽

php-fpm的status可以查看匯總資訊和詳細資訊


 nginx.conf 設定檔

server {
    listen       80;
    server_name  localhost;

    index index.php index.html;
    root  /home/tinywan/zabbix;

    location / {
        try_files $uri $uri/ /index.php?$args;
    }

    location ~ \.php$ {
        fastcgi_pass   unix:/var/run/php7.0.9-fpm.sock;
        fastcgi_index  index.php;
        fastcgi_param  SCRIPT_FILENAME  $document_root$fastcgi_script_name;
        include        fastcgi_params;
    }

    location /nginx_status {
          stub_status on;
          access_log off;
          allow 127.0.0.1;
          ##allow 192.168.249.0/24;
          deny all;
    }

    location ~ /php_fpm-status$ {
            allow 127.0.0.1;
            #deny all;
            fastcgi_param SCRIPT_FILENAME $fastcgi_script_name;
            include fastcgi_params;
            fastcgi_pass unix:/var/run/php7.0.9-fpm.sock;
    }
}

 啟用php-fpm狀態功能

tinywan@tinywan:/opt/php-7.0.9$ cat /opt/php-7.0.9/etc/php-fpm.d/www.conf | grep status_path
;pm.status_path = /status

預設為/status,當然也可以改成其他的,例如/ttlsa_status等等。

vim /opt/php-7.0.9/etc/php-fpm.d/www.conf
pm.status_path = /php_fpm-status           #去掉了前面的;注释符,并更名为php_fpm-status

修改完php-fpm.conf後,使用service php-fpm reload重新載入設定檔

tinywan@tinywan:/opt/php-7.0.9$ sudo /opt/php-7.0.9/sbin/php-fpm
tinywan@tinywan:/opt/php-7.0.9$ ps -aux | grep php-fpm
root       2769  4.1  0.1 212532 14676 ?        Ss   09:50   0:00 php-fpm: master process (/opt/php-7.0.9/etc/php-fpm.conf)
tinywan    2770  3.2  0.1 212532 11084 ?        S    09:50   0:00 php-fpm: pool www
tinywan    2771  5.9  0.1 212532 11084 ?        S    09:50   0:00 php-fpm: pool www
tinywan    2773  0.0  0.0  15984   944 pts/21   S+   09:50   0:00 grep --color=auto php-fpm

使用curl指令查看php-fpm的status

#
tinywan@tinywan:/usr/local/nginx$ curl localhost/php_fpm-status
pool:                 www
process manager:      dynamic
start time:           13/May/2017:09:50:43 +0800
start since:          986
accepted conn:        2
listen queue:         0
max listen queue:     0
listen queue len:     0
idle processes:       1
active processes:     1
total processes:      2
max active processes: 1
max children reached: 0
slow requests:        0

php-fpm的status可以查看匯總信息和詳細信息,詳細信息比匯總信息要多出每一個php-fpm進程的相關信息,同時支持多種格式輸出,如xml、html和json,默認情況下分別使用如果指令即可:

json格式

tinywan@tinywan:~$ curl localhost/php_fpm-status?json
{"pool":"www","process manager":"dynamic","start time":1494640243,

"start since":1609,"accepted conn":13,"listen queue":0,"max listen queue":0,

"listen queue len":0,"idle processes":1,"active processes":1,"total processes":2,

"max active processes":1,"max children reached":0,"slow requests":0}

xml格式

tinywan@tinywan:~$ curl localhost/php_fpm-status?xml
<?xml version="1.0" ?>
<status>
<pool>www</pool>
<process-manager>dynamic</process-manager>
<start-time>1494640243</start-time>
<start-since>1692</start-since>
<accepted-conn>15</accepted-conn>
<listen-queue>0</listen-queue>
<max-listen-queue>0</max-listen-queue>
<listen-queue-len>0</listen-queue-len>
<idle-processes>1</idle-processes>
<active-processes>1</active-processes>
<total-processes>2</total-processes>
<max-active-processes>1</max-active-processes>
<max-children-reached>0</max-children-reached>
<slow-requests>0</slow-requests>
</status>

所有格式:

Examples for summary status page:
http://127.0.0.1/php_fpm-status
http://127.0.0.1/php_fpm-status?json
http://127.0.0.1/php_fpm-status?html
http://127.0.0.1/php_fpm-status?xml

Example for detailed status page:
http://127.0.0.1/php_fpm-status?full
http://127.0.0.1/php_fpm-status?json&full
http://127.0.0.1/php_fpm-status?html&full
http://127.0.0.1/php_fpm-status?xml&full

瀏覽器存取xml檔案截圖

#php-fpm status的意義

##從php-fpm啟動到現在最多有幾個行程處於活動狀態
欄位 意思
pool php-fpm pool的名稱,大多數情況下為www
process manager 進程管理方式,現今大多為dynamic,不要使用static
start time #php-fpm上次啟動的時間
start since php-fpm已運行了多少秒
accepted conn pool收到的請求數
#listen queue 處於等待狀態中的連線數,如果不是0,則需要增加php-fpm進程數
max listen queue ##從php-fpm啟動到現在處於等待連線的最大數量
#listen queue len 處於等待連線佇列的套接字大小
idle processes 處於空閒狀態的行程數
active processes #處於活動狀態的進程數
total processess 總行程總數
max active process
################max children reached###########當pm試圖啟動更多的children進程時,卻達到了進程數的限制,達到一次記錄一次,如果不為0,需要增加php-fpm pool進程的最大數########### #######slow requests############當啟用了php-fpm slow-log功能時,如果出現php-fpm慢請求這個計數器會增加,一般不當的Mysql查詢會觸發這個值###############

以上是教你用php-fpm的status查看詳細信息的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:cnblogs.com。如有侵權,請聯絡admin@php.cn刪除