jmeter 線程組

1.1  線程組服務器

線程組是一系列線程的集合,每個線程表明着一個正在使用應用程序的用戶。在 jmeter 中,每一個線程意味着模擬一個真實用戶向服務器發起請求。併發

在 jmeter 中,線程組組件運行用戶設置線程數量、初始化方式等等配置。測試

例如,若是你設置線程數爲 100,那麼 jmeter 將建立並模擬測試 100 個用戶請求到服務器端。線程

以下圖所示:3d

 

5.3.1 添加線程組

添加線程組的步驟:blog

測試計劃->右鍵->添加->Threads(Users)->線程組,添加一個新的線程組。作用域

 

5.3.2 線程組界面屬性介紹

線程組】: 測試裏每一個任務都要線程去處理,全部任務必須在線程組下面建立。域名

線程數】: 設置發送請求的用戶數。it

【在採樣器錯誤後要執行的動做】: 表示,當一個測試計劃裏有多個線程組或者一個線程組裏有多個採樣器,當一個採樣器執行出錯後,接下來的處理,若是不是有特別的場景要求,默認是繼續就能夠。io

 

Ramp-Up Period(in seconds)】: 建立完全部線程的時間,防止對服務器有太大的負載。

若是選擇了10個線程,而且ramp-up period是10秒,那麼JMeter將使用10秒加載10個線程,也就是平均1秒加載一個虛擬用戶。

啓動並運行。每一個線程將在前一個線程啓動後1秒後啓動。若是將此設置爲0,

則表示10個用戶同時併發,也就是全部線程在統一時間啓動。Ramp-up須要足夠長的時間來避免在開始測試時產生太大的負荷,而且有足夠短的時間使最後一個線程在第一個線程結束以前運行。

循環次數】: 線程組的每一個線程數請求的重複次數。若是次數設置爲1,那麼JMeter只執行測試計劃一次,若是設置成永遠,線程組裏的線程會一直在執行。

調度器】: 調度器是用來執行一些特殊場景,勾選了調度器,就能夠設置線程運行的【持續時間】和【啓動延遲】項。

 

持續時間】: 測試計劃持續時間。

【啓動延遲】: 測試計劃延遲啓動時間。

5.3.3線程組類別

Jmeter有三個線程組分類:Thread Group、setUp Thread Group、tearDown Thread Group,以下圖所示:

 

(1)、Thread Group ( 線程組 )

  這個就是咱們一般添加運行的線程。通俗的講一個線程組,能夠看作一個虛擬用戶組,線程組中的每一個線程均可以理解爲一個虛擬用戶。

(2)、setUp Thread Group

  一種特殊類型的 ThreadGroup 的,可用於執行預測試操做。這些線程的行爲徹底像一個正常的線程組元件。不一樣的是,這些類型的線程執行測試前進行按期線程組的執行,相似LoadRunner 的 init,測試開始時進行初始化的工做。

(3)、tearDown Thread Group

  一種特殊類型的 ThreadGroup 的,可用於執行測試後動做。這些線程的行爲徹底像一個正常的線程組元件。不一樣的是,這些類型的線程執行測試結束後執行按期的線程組,相似LoadRunnner 的 end ,測試結束時進行回收工做。

5.3.4線程組執行順序

線程組執行順序:

①   setUp Thread Group

②   線程組

③   TearDown Thread Group

案例一:

案例目的:驗證 3 種線程組的執行順序。

案例步驟:

一、在測試計劃中添加一個「線程組」。

二、給「線程組」添加一個「Debug Sampler」採樣器,更名爲t1。

三、在測試計劃中在添加一個tearDown Thread Group。

四、給「tearDown Thread Group」添加一個「Debug Sampler」採樣器,更名爲t2。

五、在測試計劃中在添加一個 setUp Thread Group 。

六、給「setUp Thread Group」添加一個「Debug Sampler」採樣器,更名爲t3。

七、在測試計劃中在添加一個監聽器(察看結果樹:用來查看運行結果)。

八、若是運行的順序爲從上到下,那運行的結果應該爲:t1->t2->t3,可是實際運行的結果爲以下圖所示:

 

這個案例說明:3種類別的線程組在同一做用域名範圍內執行順序爲:setUp Thread Group ->線程組-> tearDown Thread Group

案例二:

案例目的:驗證 3 種線程組的執行順序。

案例步驟:

一、在測試計劃中添加一個「線程組」,設置線程組的線程數爲 5,設置 5 個虛擬用戶併發。

 

二、給「線程組」添加一個「Debug Sampler」採樣器,更名爲t1。

三、在測試計劃中在添加一個tearDown Thread Group,線程數默認爲 1,不改變。

四、給「tearDown Thread Group」添加一個「Debug Sampler」採樣器,更名爲t2。

五、在測試計劃中在添加一個 setUp Thread Group,線程數默認爲 1,不改變。

六、給「setUp Thread Group」添加一個「Debug Sampler」採樣器,更名爲t3。

七、在測試計劃中在添加一個監聽器(察看結果樹:用來查看運行結果)。

八、運行 jmeter 測試計劃,結果以下圖:

 

這個案例說明:setUp Thread Group 是在一個 jmeter 計劃開始的時候執行,tearDown Thread Group 是在一個 jmeter 計劃結束的時候執行,無論中間有多少個線程組。

案例三:

案例目的:驗證 3 種線程組的執行順序。

案例步驟:

一、在測試計劃中添加一個「線程組」,設置線程組的線程數爲 5,設置 5 個虛擬用戶併發。

 

二、給「線程組」添加一個「Debug Sampler」採樣器,更名爲t1。

三、在測試計劃中在添加一個tearDown Thread Group,設置線程組的線程數爲 5,設置 5 個虛擬用戶併發。

 

四、給「tearDown Thread Group」添加一個「Debug Sampler」採樣器,更名爲t2。

五、在測試計劃中在添加一個 setUp Thread Group,設置線程組的線程數爲 5,設置 5 個虛擬用戶併發。

 

六、給「setUp Thread Group」添加一個「Debug Sampler」採樣器,更名爲t3。

七、在測試計劃中在添加一個監聽器(察看結果樹:用來查看運行結果)。

八、運行 jmeter 測試計劃,結果以下圖:

 

這個案例說明:線程組的執行次數跟線程數有關。

相關文章
相關標籤/搜索