JMeter監視測試計劃
在本章中,我們將討論有關如何創建使用 JMeter 測試計劃,監控Web服務器。利用監視器測試是:
-
監視器是有用的壓力測試和係統管理。
-
用於壓力測試,監視器服務器性能提供了額外的信息。
-
監視器可以更容易地看到在客戶端服務器的性能和響應時間之間的關係.
-
係統管理工具,顯示器提供了一個簡單的方法來從一個控製台監視器多台服務器.
我們將需要一個Tomcat 5或以上版本進行監測。對於我們的測試目的,將監視Tomcat 7.0.42 服務器。可以測試任何servlet容器支持JMX(Java管理擴展)。讓我們寫一個測試案例監視器Tomcat 服務器。但在此之前,讓我們先來設立 tomcat 服務器。
設置Tomcat服務器
我們先從“打開”Tomcat服務狀態。要做到這一點,編輯的配置文件用戶<TOMCAT_HOME>/conf/tomcat-users.xml. 此文件包含一個tomcat的用戶部分(評論)如下:
<tomcat-users> <!-- <role rolename="tomcat"/> <role rolename="role1"/> <user username="tomcat" password="tomcat" roles="tomcat"/> <user username="both" password="tomcat" roles="tomcat,role1"/> <user username="role1" password="tomcat" roles="role1"/> --> </tomcat-users>
我們需要改變這部分,添加管理員的角色,manager,manager-gui和分配用戶“admin”。修訂後的文件如下:
<tomcat-users> <role rolename="manager-gui"/> <role rolename="manager-script"/> <role rolename="manager-jmx"/> <role rolename="manager-status"/> <user username="admin" password="admin" roles="manager-gui,manager-script,manager-jmx,manager-status"/> </tomcat-users>
現在啟動 tomcat 服務器 <TOMCAT_HOME>/bin/startup.sh 在Linux平台 下, <TOMCAT_HOME>/bin/startup.bat 在Window. 一旦啟動,檢查Tomcat 監管工作進入下麵的鏈接(在瀏覽器中打開):
http://localhost:8080/manager/status?XML=true
驗證窗口出現在瀏覽器中,進入tomcat 登錄名和密碼相關(在我們的案例中,它是admin)。然後,瀏覽器顯示Tomcat作為下麵的執行狀態:
從上麵的圖片中,我們可以注意幾件事情:
-
在URL中,XML = true(注意區分大小寫)注意,可以清晰地顯示JMeter 運作需要監視 Tomcat。
-
另外請注意,默認有兩個連接器。加上Apache httpd 的mod_jk 前端模塊,這是常用的 HTTP 連接器通過端口 8080 連接器直接訪問到 Tomcat 的AJP連接器。
編寫JMeter測試計劃
讓我們監視器Tomcat服務器通過編寫測試計劃如下:重命名測試計劃
通過點擊啟動JMeter的窗口 /home/manisha/apache-jmeter-2.9/bin/jmeter.sh. 點擊測試計劃節點上。如解釋在下一步添加一個線程組。
添加線程組
添加一個線程組。右鍵單擊Test Plan > Add > Threads(Users) > Thread Group. 根據測試計劃節點將添加線程組。改變永遠循環計數(或大量),以便產生足夠的樣本。
HTTP授權管理器
添加了HTTP授權管理到線程組元素 Add > Config element > HTTP Authorization Manager. 此元素管理認證要求瀏覽器中看到Tomcat服務器的狀態。選擇HTTP Authorization Manager 並編輯以下細節:
-
Username : admin 管理員(取決於tomcat-users.xml文件中的配置)
-
Password : admin(取決於配置tomcat-users.xml文件)
-
其他字段都留空。
添加采樣器的HTTP請求
現在,我們已經定義了我們的用戶,它是時間來定義,他們將要執行的任務。我們將增加HTTP請求元素。點擊鼠標右鍵得到添加菜單,然後選擇Add > Sampler > HTTP Request. 然後,選擇HTTP請求樹中的元素,並在下麵的圖片編輯以下屬性:
這個元素中輸入下列詳細信息:
-
Name : 服務器狀態
-
Server Name or IP : localhost
-
Port : 8080
-
Path : /manager/status
-
Parameters : 添加請求參數名為“XML”大寫。給它一個小寫 “true” 值。
-
Optional Tasks : 檢查采樣底部的“監視器”。
添加常量計時器
要定期要求服務器狀態,添加的常量元素,這將使每個請求之間的時間間隔定時器。這個線程組中添加一個計時器 Add > Timer > Constant Timer.
輸入5000毫秒在線程的延遲框中。在一般情況下,使用短的間隔超過5秒將添加到服務器的壓力。搞清楚什麼是可接受的間隔,在生產環境中部署監視器。
添加監聽器
需要添加到測試計劃中的最後一個元素是一個監聽器。我們將兩種類型的監聽器。結果存儲在一個文件中的第二個顯示的圖形視圖中的結果。
選擇線程組元素,並添加一個簡單的數據寫入器監聽 Add > Listener > Simple Data Writer.下一步,指定輸出文件的目錄和文件名(在我們的案例中為 /home/manisha/work/sample.csv)
讓我們添加另一個監聽器,通過選擇測試計劃元件 Add > Listener > Monitor Results.
運行此測試計劃
現在保存的以上測試計劃 monitor_test.jmx 。執行本測試計劃使用 Run > Start 選項.
查看輸出
結果將被保存在 /home/manisha/work/sample.csv 的文件。在下麵的圖片,你還可以看到一個圖形化的結果的監測結果監聽
請注意圖中有字幕圖形的兩側上。在左邊是%,右邊是dead/healthy。如果記憶線尖峰迅速下降,這可能表明內存顛簸。在這些情況下,與Borland Optimizeit 的 JProbe的分析應用程序。希望看到的是一個普通的負載,內存和線程模式。任何不穩定的行為通常表明表現欠佳或某種形式的錯誤。