1. 程式人生 > >監控分析——Web中介軟體

監控分析——Web中介軟體

 中介軟體監控看是否有效能瓶頸

  核心:主要看中介軟體的線性池程序池有沒有排隊情況,請求是否處理及時就OK

Apache

  以前php都是用apache,現在基本用nginx了。

  首先自己啟動apache,它的工程路徑在/var/www/下面

 1 # ps -ef|grep httpd
 2 root      1319     1  0 00:42 ?        00:00:00 /usr/sbin/httpd
 3 apache    1335  1319  0 00:42 ?        00:00:00 /usr/sbin/httpd
 4 apache    1336  1319  0 00:42 ?        00
:00:00 /usr/sbin/httpd 5 apache 1337 1319 0 00:42 ? 00:00:00 /usr/sbin/httpd 6 apache 1338 1319 0 00:42 ? 00:00:00 /usr/sbin/httpd 7 apache 1339 1319 0 00:42 ? 00:00:00 /usr/sbin/httpd 8 apache 1340 1319 0 00:42 ? 00:00:00 /usr/sbin/httpd 9 apache 1341 1319 0 00:42 ? 00:00:00 /usr/sbin/httpd 10 apache 1342
1319 0 00:42 ? 00:00:00 /usr/sbin/httpd

 首先,切換到httpd的路徑:(我們是yum安裝的apache,因為編譯安裝的只有一種工作模式,yum安裝才能出來3種工作模式),可以看到三個執行檔案,分別是httpd,httpd.event,httpd.worker。分別是apache的三種工作模式,我們預設使用的是httpd這個檔案的工作模式。那假設我想用httpd.event的工作模式怎麼辦呢?把httpd的檔名改成其他的,把httpd.event改成 httpd 。其實預設的httpd本來的名字是 httpd.prefok

所以說有三種模式:.prefok;.event;.worker

我們yum安裝的httpd檔案會比較分散,主要的是在:/etc/httpd 下面

  conf不用講,是配置資料夾

  httpd.conf 就是配置檔案

我們可以進去檢視下:

ServerTokens OS            ##不用管,作業系統版本
ServerRoot "/etc/httpd"    ##apache的安裝路徑,不用改
PidFile run/httpd.pid      ##在/etc/httpd/run/有一個httpd.pid,這個意思是pidfile會生成在這個路徑下。啟動的時候這個檔案會生成現,這個檔案在的話,apache會判定是啟動;關閉後這個檔案預設會刪除,但是如果有時候apache異常關閉,方法不對,會導致這個檔案沒刪除。接下來apache也啟動不了,正確做法是手動刪除
Timeout 60 ##超時時間,這個超時時間是什麼超時???在接收跟傳送之前的超時,是請求過來了,tcp/ip連線已經連線了,但是沒處理。這個不是connection-timeout,connection-timeout是客戶端配置的,客戶端傳送請求,比如60秒內沒連上,就是connection-timeout
KeepAlive Off ##JMeter預設的長連結是on。長連結是啥子東西呢,比如說請求一個頁面,用一個連結形成一個連結通道,用這個通道再去send和receive這個請求。複用長連結的話是不同請求頁面用之前的那個連結通道,通道會被佔住,下次要用的話再繼續用這個通道。省去了重新建立連結和關閉連結的過程,但是,連結通道是有限的,佔滿了的話,其他的請求就不能繼續進行連結了
MaxKeepAliveRequests 100 ##最大長連結的請求數,比如說我給300個併發,但是隻有100個長連結,代表有200個併發連線不上長連結
KeepAliveTimeout 15 ##長連結的會話保持時間,在這個連結通道內,一個客戶端隔了15秒還沒傳送下一個請求,則長連結就被釋放(一般設定3-5秒就夠了)
# prefork MPM ##MPM是工作模式,預設為profork
Listen 90 ##對外提供服務的埠號,apache預設為80
LoadModule…….so(一大堆) ##載入的動態庫
Include conf.d/*.conf ##把配置檔案conf.d資料夾內的以.conf結尾的檔案包含進來,可以切換到conf.d資料夾看一看,預設有個welcome.conf,php.conf(php編譯後生成的)
User apache ##哪個使用者
Group apache ##使用者組
ServerAdmin [email protected]
UseCanonicalName Off
DocumentRoot "/usr/local/zentaopms/www" ##工程路徑,就是程式碼往哪兒擱,就往這裡放,把安裝包往這裡放就得了
<Directory "/var/www/html"> ##跟工程路徑保持一致
ErrorLog logs/error_log ##日誌路徑
LogLevel warn ##日誌級別,有debug, info, notice, warn, error, crit,alert, emerg可選擇。詳細點的日誌用debug,一般我們用info級別
CustomLog logs/access_log common ##使用者日誌,一般被註釋,可開啟

##狀態碼不同的提示過著提示的路徑內容如下,其內容可自行定製:
#ErrorDocument 500 "The server made a boo boo."
#ErrorDocument 404 /missing.html
#ErrorDocument 404 "/cgi-bin/missing_handler.pl"
#ErrorDocument 402 http://www.example.com/subscription_info.html

監控的話,把下面倆的註釋取消掉:且預設的Allow from .example.com 改成 Allow from all

<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from all
</Location>

<Location /server-status>
    SetHandler server-status
    Order deny,allow
    Deny from all
    Allow from all
</Location>

 

改了。重啟

service httpd restart 或者

cd/usr/sbin 下面,執行  ./httpd

接著,看apache有沒有啟動,然後進入apache的  ip:port/server-status  就可以看到監控的資訊(我配置的埠為90),能出來就代表監控成功