使用php-fpm狀態頁觀察當前的php-fpm狀態,php-fpm當前

來源:互聯網
上載者:User

使用php-fpm狀態頁觀察當前的php-fpm狀態,php-fpm當前
    對於php-fpm的參數設定,很多情況下有這樣的疑問,就是內建的幾個參數例如pm.max_children,pm.start_servers等這幾個參數到底該設定最多為多少才合適。其實這幾個參數往往取決於當前的串連數情況,而大多數情況下,我們很難斷定當前的串連數情況對於我們的pm等幾個參數是否合適。所以藉助於php-fpm狀態頁可以很方便的告訴我們這幾個參數的設定是否合適。

    要開啟php-fpm的狀態頁其實很簡單在nginx的設定檔中加入:
    location /status {
            auth_basic "status page";
            auth_basic_user_file /etc/nginx/login;
            fastcgi_index  index.php;
            fastcgi_param  SCRIPT_FILENAME  /scripts$fastcgi_script_name;
            include fastcgi_params;
            fastcgi_pass 127.0.0.1:9000;
        }
    上面的auth_basic和auth_basic_user_file不是必須的,但這些都是敏感資訊,一般不能讓其它人看到,所以這裡做了認證。在php-fpm.conf中開啟:
    pm.status_path = /status
    
    然後在瀏覽器中開啟localhost/status就可以查看到當前的狀態資訊了
    pool:                 www
    process manager:      dynamic
    start time:           17/Aug/2014:15:25:50 -0400
    start since:          7702
    accepted conn:        1486
    listen queue:         0
    max listen queue:     129
    listen queue len:     128
    idle processes:       9
    active processes:     1
    total processes:      10
    max active processes: 20
    max children reached: 2
    slow requests:        0

    下面介紹每個參數的作用:
    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查詢是最大的禍首。

    如果想看到更加詳細的資訊,可以使用localhost/status?full查看每個子進程更加額外的資訊,拿其中的一個子進程來說明:
    pid:                  6917
    state:                Idle
    start time:           17/Aug/2014:15:27:46 -0400
    start since:          8399
    requests:             35
    request duration:     69295
    request method:       GET
    request URI:          /member.php?mod=logging&action=login&infloat=yes&frommessage&inajax=1&ajaxtarget=messagelogin
    content length:       0
    user:                 -
    script:               /usr/local/nginx/html/member.php
    last request cpu:     72.16
    last request memory:  3145728
    
    這裡的都比較好理解,主要看下content length和user
    content length:這裡記錄的是POST請求的內容長度.
    user:如果設定了PHP_AUTH_USER就會顯示對於的值,否則顯示為0.
    
    這裡需要注意的是如果state的狀態為空白閑的話,那麼這些相關的資訊將會以最後請求的服務相關,否則資訊取決於當前請求的服務.
   

nginx php fpm 怎顯示錯誤記錄檔

要想讓php-fpm顯示錯誤記錄檔,首先需要配置php-fpm。
在php-fpm的設定檔中(一般位於php安裝目錄下的etc/php-fpm.conf)配置php錯誤記錄檔的檔案路徑。
; Error log file; If it's set to "syslog", log is sent to syslogd instead of being written; in a local file.; Note: the default prefix is /home/wangwei/php/var; Default Value: log/php-fpm.log;error_log = log/php-fpm.log如上是我的php-fpm.conf檔案中配置錯誤記錄檔的地方。把error_log = log/php-fpm.log之前的;去掉,然後修改為:
; Error log file; If it's set to "syslog", log is sent to syslogd instead of being written; in a local file.; Note: the default prefix is /home/wangwei/php/var; Default Value: log/php-fpm.logerror_log = /home/work/log/php-fpm.log.wf修改之後,儲存配置,然後重啟php-fpm就可以啦。
注意如果用相對路徑的話,的路徑的首碼是基於php安裝目錄的var目錄的。

 
PHP-FPM構架用法

一。可以用<? ?>這樣的標籤。話說你不加標籤伺服器怎麼知道哪裡是php指令碼,哪裡是html呢?真是的
二。不知道。
三。不知道。
四。不知道。
本人新手,同樣等待高手解答二、三、四。
 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.