Home  >  Article  >  Backend Development  >  Teach you how to use php-fpm status to view detailed information

Teach you how to use php-fpm status to view detailed information

藏色散人
藏色散人forward
2021-12-09 16:26:006336browse

php-fpm status can view summary information and detailed information


nginx.conf configuration file

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;
    }
}

Enable php-fpm status function

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

The default is /status, but of course it can be changed to other values, such as /ttlsa_status, etc.

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

After modifying php-fpm.conf, use service php-fpm reload to reload the configuration file

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

Use the curl command to view the status of php-fpm

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 can view summary information and detailed information. The detailed information has more information about each php-fpm process than the summary information. It also supports multiple format output, such as xml, html and json. By default Just use the if command respectively:

json format

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 format

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>

All formats:

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

Browser access xml file screenshot

The meaning of php-fpm status

##max active processThe maximum number of processes that have been active since php-fpm was startedmax children reached When pm tried to start more children processes, it reached the limit of the number of processes and recorded once. If it is not 0, you need to increase the maximum number of php-fpm pool processesslow requestsWhen the php-fpm slow-log function is enabled, if a php-fpm slow request occurs, this counter will increase, generally inappropriate Mysql queries This value will be triggered#
##Field Meaning
pool php-fpm pool name, In most cases, it is www
process manager process management method. Most of them are dynamic nowadays. Do not use it. static
start time php-fpm last started time
start since How many seconds has php-fpm been running
accepted conn The number of requests received by the pool
listen queue The number of connections in the waiting state. If it is not 0, you need to increase the number of php-fpm processes
max listen queue The maximum number of connections waiting from php-fpm startup to now
listen queue len Size of sockets waiting for connection queue
idle processes Number of idle processes
active processes Number of active processes
total processess Total processes

The above is the detailed content of Teach you how to use php-fpm status to view detailed information. For more information, please follow other related articles on the PHP Chinese website!

Statement:
This article is reproduced at:cnblogs.com. If there is any infringement, please contact admin@php.cn delete