- JMeter 教程
- JMeter - 首頁
- JMeter - 概述
- JMeter - 環境
- JMeter - 建立測試計劃
- JMeter - 測試計劃元素
- JMeter - Web 測試計劃
- JMeter - 資料庫測試計劃
- JMeter - FTP 測試計劃
- JMeter - Web 服務測試計劃
- JMeter - JMS 測試計劃
- JMeter - 監控測試計劃
- JMeter - 監聽器
- JMeter - 函式
- JMeter - 正則表示式
- JMeter - 最佳實踐
- JMeter 資源
- JMeter - 快速指南
- JMeter - 有用資源
- JMeter - 討論
JMeter - 監控測試計劃
本章將討論如何使用 JMeter 建立測試計劃來監控 Web 伺服器。監控測試的用途如下:
監控對於壓力測試和系統管理非常有用。
與壓力測試一起使用時,監控程式可提供有關伺服器效能的更多資訊。
監控使更容易看到伺服器效能與客戶端響應時間之間的關係。
作為系統管理工具,監控程式提供了一種簡單的方法來從一個控制檯監控多個伺服器。
我們需要 Tomcat 5 或更高版本才能進行監控。為了測試目的,我們將監控 Tomcat 7.0.42 伺服器。您可以測試任何支援 Java Management Extension (JMX) 的 Servlet 容器。讓我們編寫一個測試用例來監控 Tomcat 伺服器。讓我們首先設定我們的 Tomcat 伺服器。
設定 Tomcat 伺服器
我們首先開啟 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 伺服器:Linux 系統使用 `
https://:8080/manager/status?XML=true
瀏覽器中將出現一個身份驗證視窗。輸入相關的 Tomcat 登入名和密碼(在本例中為 admin)。然後,瀏覽器將顯示 Tomcat 的執行狀態,如下所示:
從上面的螢幕截圖中,我們可以注意到一些事情:
在 URL 中,請注意 *XML = true*(注意大小寫)允許清晰地顯示 JMeter 功能所需的 Tomcat 監控資訊。
另請注意,有兩個預設聯結器。AJP 聯結器通常與 mod_jk Apache HTTPD 前端模組一起使用,而 HTTP 聯結器是透過埠 8080 直接訪問 Tomcat 的常用聯結器。
編寫 JMeter 測試計劃
讓我們透過編寫測試計劃來監控 Tomcat 伺服器:
重新命名測試計劃
透過點選 /home/manisha/apache-jmeter2.9/bin/jmeter.sh 開啟 JMeter 視窗。
點選測試計劃節點。
新增執行緒組,如下一步所述。
新增執行緒組
右鍵單擊 **測試計劃 → 新增 → 執行緒(使用者) → 執行緒組**。執行緒組將新增到測試計劃節點下。
將迴圈次數更改為永遠(或某個較大的數字),以便生成足夠的樣本。
HTTP 授權管理器
透過選擇新增 → 配置元件 → HTTP 授權管理器,將 HTTP 授權管理器新增到執行緒組元素。此元素管理瀏覽器檢視 Tomcat 伺服器狀態時請求的身份驗證。
選擇 HTTP 授權管理器。
編輯以下詳細資訊:
**使用者名稱** - admin(取決於 tomcat-users.xml 檔案中的配置)
**密碼** - admin(取決於 tomcat-users.xml 檔案中的配置)
其他欄位留空。
新增取樣器-HTTP 請求
既然我們已經定義了使用者,現在是時候定義他們將執行的任務了。我們新增 HTTP 請求元素。
右鍵單擊滑鼠以獲取新增選單。
選擇新增 → 取樣器 → HTTP 請求。
然後,在樹中選擇 HTTP 請求元素。
如下面的影像所示編輯以下屬性:
在此元素中輸入以下詳細資訊:
**名稱** - 伺服器狀態
**伺服器名稱或 IP** - localhost
**埠** - 8080
**路徑** - /manager/status
**引數** - 新增一個名為“XML”(大寫)的請求引數。給它一個“true”(小寫)的值。
**可選任務** - 在取樣器的底部選中“用作監控”。
新增恆定定時器
要定期請求伺服器的狀態,請新增一個恆定定時器,它允許在每個請求之間設定時間間隔。透過選擇新增 → 定時器 → 恆定定時器,將定時器新增到此執行緒組。
在 *執行緒延遲* 框中輸入 5000 毫秒。通常,使用小於 5 秒的時間間隔可能會增加伺服器的壓力。在生產環境中部署監控程式之前,請找出可接受的時間間隔。
新增監聽器
您需要新增到測試計劃中的最後一個元素是監聽器。我們新增兩種型別的監聽器。一個將結果儲存到檔案中,另一個顯示結果的圖形檢視。
選擇執行緒組元素。
新增一個簡單的CSV資料寫入器監聽器:新增 → 監聽器 → 簡單資料寫入器。
指定輸出檔案的目錄和檔名(在本例中為 /home/manisha/work/sample.csv)
讓我們透過選擇測試計劃元素新增另一個監聽器:新增 → 監聽器 → 監控結果。
執行測試計劃
現在將上述測試計劃儲存為 *monitor_test.jmx*。使用執行 → 啟動選項執行此測試計劃。
檢視輸出
結果將儲存在 /home/manisha/work/sample.csv 檔案中。您還可以在監控結果監聽器中看到圖形結果,如下圖所示。
請注意,圖表兩側都有標題。左側是百分比,右側是活動/空閒。如果記憶體線快速上下波動,則可能表示記憶體抖動。在這種情況下,最好使用 Borland OptimizeIt 或 JProbe 對應用程式進行分析。您希望看到的是負載、記憶體和執行緒的規律模式。任何不規律的行為通常都表示效能低下或某種型別的錯誤。