JMeter監視測試計劃

在本章中,我們將討論有關如何創建使用 JMeter 測試計劃,監控Web服務器。利用監視器測試是:

  • 監視器是有用的壓力測試和系統管理。

  • 用於壓力測試,監視器服務器性能提供了額外的信息。

  • 監視器可以更容易地看到在客戶端服務器的性能和響應時間之間的關係.

  • 系統管理工具,顯示器提供了一個簡單的方法來從一個控制檯監視器多臺服務器.

我們將需要一個Tomcat 5或以上版本進行監測。對於我們的測試目的,將監視Tomcat 7.0.42 服務器。可以測試任何servlet容器支持JMX(Java管理擴展)。讓我們寫一個測試案例監視器Tomcat 服務器。但在此之前,讓我們先來設立 tomcat 服務器。

設置Tomcat服務器

我們先從「打開」Tomcat服務狀態。要做到這一點,編輯的配置文件用戶<TOMCAT_HOME>/conf/tomcat-users.xml. 此文件包含一個tomcat的用戶部分(評論)如下:

我們需要改變這部分,添加管理員的角色,manager,manager-gui和分配用戶「admin」。修訂後的文件如下:

<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 服務器 <TOMCAT_HOME>/bin/startup.sh 在Linux平臺 下, <TOMCAT_HOME>/bin/startup.bat 在Window. 一旦啓動,檢查Tomcat 監管工作進入下面的鏈接(在瀏覽器中打開):

http://localhost:8080/manager/status?XML=true

驗證窗口出現在瀏覽器中,進入tomcat 登錄名和密碼相關(在我們的案例中,它是admin)。然後,瀏覽器顯示Tomcat作爲下面的執行狀態:

Tomcat Manager Status

從上面的圖片中,我們可以注意幾件事情:

  • 在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. 根據測試計劃節點將添加線程組。改變永遠循環計數(或大量),以便產生足夠的樣本。

Monitor Test Users

HTTP授權管理器

添加了HTTP授權管理到線程組元素 Add > Config element > HTTP Authorization Manager. 此元素管理認證要求瀏覽器中看到Tomcat服務器的狀態。選擇HTTP Authorization Manager 並編輯以下細節:

  • Username : admin 管理員(取決於tomcat-users.xml文件中的配置)

  • Password : admin(取決於配置tomcat-users.xml文件)

  • 其他字段都留空。

http authorization manager

添加採樣器的HTTP請求

現在,我們已經定義了我們的用戶,它是時間來定義,他們將要執行的任務。我們將增加HTTP請求元素。點擊鼠標右鍵得到添加菜單,然後選擇Add > Sampler > HTTP Request. 然後,選擇HTTP請求樹中的元素,並在下面的圖片編輯以下屬性:

這個元素中輸入下列詳細信息:

  • Name : 服務器狀態

  • Server Name or IP : localhost

  • Port : 8080

  • Path : /manager/status

  • Parameters : 添加請求參數名爲「XML」大寫。給它一個小寫 「true」 值。

  • Optional Tasks : 檢查採樣底部的「監視器」。

Monitor Test Sampler

添加常量計時器

要定期要求服務器狀態,添加的常量元素,這將使每個請求之間的時間間隔定時器。這個線程組中添加一個計時器 Add > Timer > Constant Timer.

輸入5000毫秒在線程的延遲框中。在一般情況下,使用短的間隔超過5秒將添加到服務器的壓力。搞清楚什麼是可接受的間隔,在生產環境中部署監視器。

Monitor Constant Timer

添加監聽器

需要添加到測試計劃中的最後一個元素是一個監聽器。我們將兩種類型的監聽器。結果存儲在一個文件中的第二個顯示的圖形視圖中的結果。

選擇線程組元素,並添加一個簡單的數據寫入器監聽 Add > Listener > Simple Data Writer.下一步,指定輸出文件的目錄和文件名(在我們的案例中爲 /home/manisha/work/sample.csv)

Monitor Simple Data Writer

讓我們添加另一個監聽器,通過選擇測試計劃元件 Add > Listener > Monitor Results.

Monitor Results

運行此測試計劃

現在保存的以上測試計劃 monitor_test.jmx 。執行本測試計劃使用 Run > Start 選項.

查看輸出

結果將被保存在 /home/manisha/work/sample.csv 的文件。在下面的圖片,你還可以看到一個圖形化的結果的監測結果監聽

Monitor Test Result Monitor Test Result

請注意圖中有字幕圖形的兩側上。在左邊是%,右邊是dead/healthy。如果記憶線尖峯迅速下降,這可能表明內存顛簸。在這些情況下,與Borland Optimizeit 的 JProbe的分析應用程序。希望看到的是一個普通的負載,內存和線程模式。任何不穩定的行爲通常表明表現欠佳或某種形式的錯誤。