如何使用JMeter觀察網站的系統效能?
這篇文章主要說明如何使用Jmeter 觀察測試網站的系統效能(CPU, Memory, Disk)使用狀況。
JMeter 預設測試結果 Listener 用來記錄client端所發出的每一個 Http Request 的Response Time
有沒有一個方式是可以記錄受測Web Server的系統效能資訊,例如CPU, Memory, Disk的忙碌狀況呢?
要在Jmeter 收集遠端受測網站的效能資訊,需要透過一個網站伺服器取得這樣的資訊。
這個網站伺服器就是 Tomcat。將受測的Web Server 安裝Tomcat,Jmeter便可以透過Tomcat取得相關的系統效能指標。
1. 安裝Tomcat
首先下載安裝Tomcat 7.x ZIP ,解壓縮。例如:d:\tomcat
http://ftp.tc.edu.tw/pub/Apache/tomcat/tomcat-7/v7.0.61/bin/apache-tomcat-7.0.61.zip
http://tomcat.apache.org/download-70.cgi
接著Windows users 執行
- tomCAT\bin\catalina.bat run
Linux/Mac 可以執行
- catalina.sh run
2. 瀏覽啟動的Tomcat
執行完後,可以用瀏覽器確定該Tomcat網站的啟動狀況
http://localhost:8080
3. 新增Tomcat使用者
為了要讓Jmeter可讀取,因此需要新增一個Tomcat使用者。編輯tomcat-users.xml
d:/tomcat/conf/tomcat-users.xml
<role rolename=”manager-gui”/>
<user username=”admin” password=”admin” roles=”manager-gui”/>
4. 重新啟動Tomcat
- tomCAT\bin\catalina.bat run
用瀏覽器瀏覽下列網址,至時候應該會出現帳號密碼的訊息框。輸入 admin / admin
http://localhost:8080/manager/html
http://localhost:8080/manager/status
到這邊應該完成所有Tomcat的設定,接著要另外設定JMeter
5. Jmeter Server Monitoring Test plan
如果要創建一個Jmeter test plan 用來收集網站的系統效能,測試計畫會類似下圖所示。
- Http Authorization Manager: 用來登入tomcat
- Http Request (Server Status): 用來查詢Tomcat所提供的系統效能資訊。參考之後說明。
- Constant Timer:主要用來設定多久收集一次該資訊。例如:5000 ms or 10000 ms
- Monitor Results: 最後該伺服器的效能與負載狀況就會被顯示在這裡。
6. Jmeter Http Request
對於要如何設定Http request,來查詢 Tomcat所提供的系統效能資訊? 如下圖所示。
- Server IP: 目標伺服器
- port: Tomcat伺服器的port number,預設為8080
- Path: /manager/status
- Parameters: XML = true
- Optional Tasks = enabled
大功告成
接著就可以在Jmeter 端,接收網站的負載狀況了!