windows下apache性能監控

一.apache配置文件

常用的配置文件有:

1.XXX/httpd2.X/conf/httpd.conf。該文件是apache的主要配置文件。其中主要說明:監聽的端口,監聽的地址,默認開啓的進程方式(prefork.c和work.c)

2.XXX/httpd2.X/conf/extra/httpd-default.conf。 該文件是apache在主要配置基礎上更詳細的規定了超時時間,連接保持等等

3.XXX/httpd2.X/conf/extra/httpd-mpm.conf。 該文件是apache在主要配置基礎上,如果開啓MPM模式的話。那麼進程的開啓是否就需要使用這裏面方式。

 注:extra目錄中的文件,基本都是需要在httpd.conf中開啓,才能生效,如:httpd.conf文件中  #Include conf/extra/httpd-mpm.conf 。將前面的#去掉,就是開啓該功能。

 二.apache性能監控

要監控apache的性能,我們需要修改配置文件,允許查看apache運行狀態的主機。

1)加載mod_status.so 

對Apache的狀態管理的模塊是LoadModule status_module modules/mod_status.so ,所以需要...apache2\conf'\httpd.conf配置文件中修改。

找到LoadModule status_module modules/mod_status.so ,去掉其前面的# 號(默認是沒有# 號的)

2)下面有修改配置文件有兩種方式

方式一: 在httpd.conf文件底部分添加以下內容:

 

<location /c-server-status>
         SetHandler server-status
         Order Deny,Allow
         Deny from nothing
         Allow from all
</location>

ExtendedStatus On
方法二:在httpd.conf中找到以下內存
# Real-time info on requests and configuration
#Include conf/extra/httpd-info.conf   //去掉這一行前面的#號

打開...apache2\conf\extra\http-info.conf 配置文件進行修改。修改內容與方式一相同。

其實,兩種無方法是相同的,只是第二種方法更爲優雅一點。

修改信息解釋:

<location /c-server-status>  : c-server-status 這個名字可以任意的取,但最好不要被別人猜到。

Deny from   表示禁止的訪問地址;nothing 表示沒有禁止訪問的地址 。
Allow from   表示允許的地址訪問;all 表示所有的地址都可以訪問。

ExtendedStatus On   表示的是待會訪問的時候能看到詳細的請求信息,另外該設置僅能用於全局設置,不能在特定的虛擬主機中打開或關閉。啓用擴展狀態信息將會導致服務器運行效率降低。

4)訪問

http://你的IP地址:端口/c-server-status 

http://你的IP地址:端口/c-server-status ?refresh=N 

N將表示訪問狀態頁面可以每N秒自動刷新一次

Apache Server Status for localhost
Server Version: Apache/2.2.19 (Win64)
Server Built: May 28 2011 15:18:56

Current Time: Sunday, 11-Nov-2012 17:44:21 Öйú±ê׼ʱ¼ä
Restart Time: Sunday, 11-Nov-2012 17:36:28 Öйú±ê׼ʱ¼ä
Parent Server Generation: 1
Server uptime: 7 minutes 52 seconds
Total accesses: 0 - Total Traffic: 0 kB
0 requests/sec - 0 B/second -
1 requests currently being processed, 63 idle workers
______________________________________________________________W_
................................................................

Scoreboard Key:"_" Waiting for Connection, "S" Starting up, "R" Reading Request,"W" Sending Reply, "K" Keepalive (read), "D" DNS Lookup,"C" Closing connection, "L" Logging, "G" Gracefully finishing,"I" Idle cleanup of worker, "." Open slot with no current process
Srv    PID    Acc    M    SS    Req    Conn    Child    Slot    Client    VHost    Request
0-1    4140    0/0/0    W    0    287636364    0.0    0.00    0.00    127.0.0.1    192.168.0.100    GET /c-server-status HTTP/1.1

Srv    Child Server number - generation
PID    OS process ID
Acc    Number of accesses this connection / this child / this slot
M    Mode of operation
SS    Seconds since beginning of most recent request
Req    Milliseconds required to process most recent request
Conn    Kilobytes transferred this connection
Child    Megabytes transferred this child
Slot    Total megabytes transferred this slot

參數分析:

 

參數分析:
字段                         說明
Server Version       Apache 服務器的版本。
Server Built         Apache 服務器編譯安裝的時間。
Current Time        目前的系統時間。
Restart Time         Apache 重新啓動的時間。
Parent Server Generation        Apache 父程序 (parent process) 的世代編號,就是 httpd 接收到 SIGHUP 而重新啓動的次數。
Server uptime         Apache 啓動後到現在經過的時間。
Total accesses         到目前爲此 Apache 接收的聯機數量及傳輸的數據量。
CPU Usage           目前 CPU 的使用情形。
_SWSS....            所有 Apache process 目前的狀態。每一個字符表示一個程序,最多可以顯示 256 個程序的狀態。
Scoreboard Key         上述狀態的說明。以下爲每一個字符符號所表示的意義:
    * _:等待連結中。
    * S:啓動中。
    * R:正在讀取要求。
    * W:正在送出迴應。
    * K:處於保持聯機的狀態。
    * D:正在查找DNS。
    * C:正在關閉連結。
    * L:正在寫入記錄文件。
    * G:進入正常結束程序中。
    * I:處理閒置。
    * .:尚無此程序。
Srv        本程序與其父程序的世代編號。
PID        本程序的process id。
Acc        分別表示本次聯機、本程序所處理的存取次數。
M         該程序目前的狀態。
CPU        該程序所耗用的CPU資源。
SS         距離上次處理要求的時間。
Req        最後一次處理要求所耗費的時間,以千分之一秒爲單位。
Conn       本次聯機所傳送的數據量。
Child       由該子程序所傳送的數據量。
Slot        由該 Slot 所傳送的數據量。
Client       客戶端的地址。
VHost       屬於哪一個虛擬主機或本主機的IP。
Request     聯機所提出的要求信息。

 

 

發佈了134 篇原創文章 · 獲贊 481 · 訪問量 34萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章