一.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 聯機所提出的要求信息。