JMeter分佈式負載測試(吞吐量控制器)
在本節中,我們將學習如何使用吞吐量控制器在JMeter中創建分佈式負載測試計劃。
出於測試目的,我們將在我們網站 www.yiibai.com 的URL下的某些網頁上創建分佈式負載。這些網頁包括:
- 主頁: www.yiibai.com
- 第1頁(Java): www.yiibai.com/cplusplus/
- 第2頁(C語言): www.yiibai.com/cprogramming
- 第3頁(Python): www.yiibai.com/python
注意: 假設創建了10個虛擬用戶(線程)來在網站上執行分佈式負載測試,然後所有其他網頁將由10個虛擬用戶的持續負載進行測試。 但是,這不是一個現實世界的場景。 在現實世界中,同一URL下不同網頁的負載可能存在差異。
讓我們首先創建一個分佈式負載測試計劃,而不使用吞吐量控制器。 對於此測試,我們已將單個虛擬用戶分發到每個線程組。
創建JMeter測試計劃
- 進入到JMeter/bin文件夾並雙擊jmeter.bat文件以啓動JMeter界面。
- 單擊「測試計劃」節點。
- 將此測試計劃節點重命名爲Distributed Test。
- 選擇Distributed Test節點,然後右鍵單擊所選項目。
- 鼠標懸停在「Add」選項上,然後將顯示元素列表。
- 選擇Threads (Users) > Thread Group。
添加採樣器
接下來在Thread Group中添加一個HTTP RequestSampler。
- 選擇「Thread Group」,然後右鍵單擊所選項。
- 鼠標懸停在「Add」選項上,然後將顯示元素列表。
- 選擇Sampler > HTTP request選項。
- 它將添加一個空的HTTP請求採樣器。
將HTTP Request Sampler的字段配置爲:
- Name - Home Page 。
- 服務器名稱或IP - 在這個示例中,Web服務器名稱是 www.yiibai.com 。
現在,將複製線程組並將其粘貼到測試計劃中三次。 根據測試的網頁重命名每個HTTP請求採樣器。每個HTTP請求採樣器的服務器名稱都相同。
下圖顯示了「分佈式測試計劃」下的目錄結構。
分別配置Java,C_Programming和Cpp採樣器的路徑名。
以下圖像顯示了上述每個採樣器的相應路徑名。
主頁
Java
C_Programming
CPP
添加監聽器
- 選擇「Distributed Test Plan」元素。
- 鼠標懸停在「Add」選項上,然後將顯示元素列表。
- 選擇Listener -> Aggregate Report。
保存並執行測試計劃
單擊File -> Save Test Plan as。
將整個測試計劃保存爲Distributed_test1.jmx。
單擊Run -> Start以執行測試計劃。
驗證輸出
可以在**#Samples**標籤中查看每個網頁的加載分佈。
現在,我們已經成功執行了分佈式負載測試計劃,但是不使用吞吐量控制器。 但是,在應用程序的實際負載測試期間,我們無法確定實際用戶的數量。 在這種情況下,需要使用吞吐量控制器。
添加吞吐量控制器
首先,我們需要爲測試計劃創建一個主線程組(「Distributed Test」)。
- 選擇「Distributed Test」節點,然後右鍵單擊所選項目。
- 鼠標懸停在「Add」選項上,然後將顯示元素列表。
- 選擇「Threads (Users)」 -> 「Thread Group」。
- 將此線程組重命名爲Master Thread Group。
- 選擇「Master Thread Group」節點,然後右鍵單擊所選項。
- 鼠標懸停在「添加」選項上,然後將顯示元素列表。
- 選擇Logic Controller -> Throughput Controller。
下圖顯示了吞吐量控制器的默認控制面板。
按照以下步驟在「Master Thread Group」節點下創建測試計劃:
- 複製「主頁」採樣器並將其粘貼到吞吐量控制器中。
- 再創建三個吞吐量控制器並複製粘貼其餘的網頁採樣器。
- 禁用/刪除分佈式測試計劃節點下的線程組。
下圖顯示了「Master Thread Group」節點下的目錄結構。
現在,已將主線程組中的用戶總數配置爲「10」。 作爲其結果,每個吞吐量控制器的「%」執行將根據主線程組中的用戶總數進行分配。
我們爲每個吞吐量控制器分配了「%」執行:
- 10%爲主頁
- 20%爲Java
- C_Programming爲20%
- Cpp爲50%
注意:主線程組中的線程數(用戶)可以根據應用程序的實際預期負載而變化。
下圖顯示了Master Thread Group和整個吞吐量控制器的配置。
單擊Run -> Start,執行測試計劃。
驗證輸出
可以在#Samples標籤中查看每個網頁的加載分佈。