在本節中,我們將學習如何使用吞吐量控制器在JMeter中建立分散式負載測試計劃。
出於測試目的,我們將在我們網站 www.tw511.com 的URL下的某些網頁上建立分散式負載。這些網頁包括:
注意: 假設建立了10個虛擬使用者(執行緒)來在網站上執行分散式負載測試,然後所有其他網頁將由10個虛擬使用者的持續負載進行測試。 但是,這不是一個現實世界的場景。 在現實世界中,同一URL下不同網頁的負載可能存在差異。
讓我們首先建立一個分散式負載測試計劃,而不使用吞吐量控制器。 對於此測試,我們已將單個虛擬使用者分發到每個執行緒組。
接下來在Thread Group中新增一個HTTP RequestSampler。
將HTTP Request Sampler的欄位組態為:
現在,將複製執行緒組並將其貼上到測試計劃中三次。 根據測試的網頁重新命名每個HTTP請求取樣器。每個HTTP請求取樣器的伺服器名稱都相同。
下圖顯示了「分散式測試計劃」下的目錄結構。
分別組態Java,C_Programming和Cpp取樣器的路徑名。
以下影象顯示了上述每個取樣器的相應路徑名。
主頁
Java
C_Programming
CPP
將整個測試計劃儲存為Distributed_test1.jmx。
單擊Run -> Start以執行測試計劃。
可以在#Samples標籤中檢視每個網頁的載入分布。
現在,我們已經成功執行了分散式負載測試計劃,但是不使用吞吐量控制器。 但是,在應用程式的實際負載測試期間,我們無法確定實際使用者的數量。 在這種情況下,需要使用吞吐量控制器。
首先,我們需要為測試計劃建立一個主執行緒組(「Distributed Test」)。
下圖顯示了吞吐量控制器的預設控制面板。
按照以下步驟在「Master Thread Group」節點下建立測試計劃:
下圖顯示了「Master Thread Group」節點下的目錄結構。
現在,已將主執行緒組中的使用者總數組態為「10」。 作為其結果,每個吞吐量控制器的「%」執行將根據主執行緒組中的使用者總數進行分配。
我們為每個吞吐量控制器分配了「%」執行:
注意:主執行緒組中的執行緒數(使用者)可以根據應用程式的實際預期負載而變化。
下圖顯示了Master Thread Group和整個吞吐量控制器的組態。
單擊Run -> Start,執行測試計劃。
可以在#Samples標籤中檢視每個網頁的載入分布。