JMeter - 監控測試計劃



本章將討論如何使用 JMeter 建立測試計劃來監控 Web 伺服器。監控測試的用途如下:

  • 監控對於壓力測試和系統管理非常有用。

  • 與壓力測試一起使用時,監控程式可提供有關伺服器效能的更多資訊。

  • 監控使更容易看到伺服器效能與客戶端響應時間之間的關係。

  • 作為系統管理工具,監控程式提供了一種簡單的方法來從一個控制檯監控多個伺服器。

我們需要 Tomcat 5 或更高版本才能進行監控。為了測試目的,我們將監控 Tomcat 7.0.42 伺服器。您可以測試任何支援 Java Management Extension (JMX) 的 Servlet 容器。讓我們編寫一個測試用例來監控 Tomcat 伺服器。讓我們首先設定我們的 Tomcat 伺服器。

設定 Tomcat 伺服器

我們首先開啟 Tomcat 服務狀態。為此,請編輯使用者的配置檔案,**`/conf/tomcat-users.xml`**。此檔案包含一個 tomcat-users 部分(已註釋),如下所示:

<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 伺服器:Linux 系統使用 `/bin/startup.sh`,Windows 系統使用 `/bin/startup.bat`。啟動後,透過在瀏覽器中輸入以下連結來檢查 Tomcat 監控是否有效:

https://:8080/manager/status?XML=true

瀏覽器中將出現一個身份驗證視窗。輸入相關的 Tomcat 登入名和密碼(在本例中為 admin)。然後,瀏覽器將顯示 Tomcat 的執行狀態,如下所示:

Tomcat Manager Status

從上面的螢幕截圖中,我們可以注意到一些事情:

  • 在 URL 中,請注意 *XML = true*(注意大小寫)允許清晰地顯示 JMeter 功能所需的 Tomcat 監控資訊。

  • 另請注意,有兩個預設聯結器。AJP 聯結器通常與 mod_jk Apache HTTPD 前端模組一起使用,而 HTTP 聯結器是透過埠 8080 直接訪問 Tomcat 的常用聯結器。

編寫 JMeter 測試計劃

讓我們透過編寫測試計劃來監控 Tomcat 伺服器:

重新命名測試計劃

  • 透過點選 /home/manisha/apache-jmeter2.9/bin/jmeter.sh 開啟 JMeter 視窗。

  • 點選測試計劃節點。

  • 新增執行緒組,如下一步所述。

新增執行緒組

  • 右鍵單擊 **測試計劃 → 新增 → 執行緒(使用者) → 執行緒組**。執行緒組將新增到測試計劃節點下。

  • 將迴圈次數更改為永遠(或某個較大的數字),以便生成足夠的樣本。

Monitor Test Users

HTTP 授權管理器

  • 透過選擇新增 → 配置元件 → HTTP 授權管理器,將 HTTP 授權管理器新增到執行緒組元素。此元素管理瀏覽器檢視 Tomcat 伺服器狀態時請求的身份驗證。

  • 選擇 HTTP 授權管理器。

  • 編輯以下詳細資訊:

    • **使用者名稱** - admin(取決於 tomcat-users.xml 檔案中的配置)

    • **密碼** - admin(取決於 tomcat-users.xml 檔案中的配置)

    • 其他欄位留空。

HTTP Authorization Manager

新增取樣器-HTTP 請求

既然我們已經定義了使用者,現在是時候定義他們將執行的任務了。我們新增 HTTP 請求元素。

  • 右鍵單擊滑鼠以獲取新增選單。

  • 選擇新增 → 取樣器 → HTTP 請求。

  • 然後,在樹中選擇 HTTP 請求元素。

  • 如下面的影像所示編輯以下屬性:

  • 在此元素中輸入以下詳細資訊:

    • **名稱** - 伺服器狀態

    • **伺服器名稱或 IP** - localhost

    • **埠** - 8080

    • **路徑** - /manager/status

    • **引數** - 新增一個名為“XML”(大寫)的請求引數。給它一個“true”(小寫)的值。

    • **可選任務** - 在取樣器的底部選中“用作監控”。

Monitor Test Sampler

新增恆定定時器

要定期請求伺服器的狀態,請新增一個恆定定時器,它允許在每個請求之間設定時間間隔。透過選擇新增 → 定時器 → 恆定定時器,將定時器新增到此執行緒組。

在 *執行緒延遲* 框中輸入 5000 毫秒。通常,使用小於 5 秒的時間間隔可能會增加伺服器的壓力。在生產環境中部署監控程式之前,請找出可接受的時間間隔。

Monitor Constant Timer

新增監聽器

您需要新增到測試計劃中的最後一個元素是監聽器。我們新增兩種型別的監聽器。一個將結果儲存到檔案中,另一個顯示結果的圖形檢視。

  • 選擇執行緒組元素。

  • 新增一個簡單的CSV資料寫入器監聽器:新增 → 監聽器 → 簡單資料寫入器。

  • 指定輸出檔案的目錄和檔名(在本例中為 /home/manisha/work/sample.csv)

Monitor Simple Data Writer
  • 讓我們透過選擇測試計劃元素新增另一個監聽器:新增 → 監聽器 → 監控結果。

Monitor Results

執行測試計劃

現在將上述測試計劃儲存為 *monitor_test.jmx*。使用執行 → 啟動選項執行此測試計劃。

檢視輸出

結果將儲存在 /home/manisha/work/sample.csv 檔案中。您還可以在監控結果監聽器中看到圖形結果,如下圖所示。

Monitor Test Result1

Monitor Test Result2

請注意,圖表兩側都有標題。左側是百分比,右側是活動/空閒。如果記憶體線快速上下波動,則可能表示記憶體抖動。在這種情況下,最好使用 Borland OptimizeIt 或 JProbe 對應用程式進行分析。您希望看到的是負載、記憶體和執行緒的規律模式。任何不規律的行為通常都表示效能低下或某種型別的錯誤。

廣告
© . All rights reserved.