執行緒組詳解

2022-07-14 10:24:07 字數 2084 閱讀 6149

執行緒組元件是任何乙個測試計畫的開始點。在乙個測試計畫中的所有元件都必須在某個執行緒下。所有的任務都是基於執行緒組

一種特殊型別的threadgroup,用於在執行常規執行緒組之前執行一些必要的操作。在「setup thread group 」下的執行緒行為與普通執行緒組完全相同。不同的是執行順序:它會在普通執行緒組執行之前被觸發。

應用場景舉例:

a、測試資料庫操作功能時,用於執行開啟資料庫連線的操作。

b、測試使用者購物功能時,用於執行使用者的註冊、登入等操作。

一種特殊型別的threadgroup,用於在執行常規執行緒組完成後執行一些必要的操作。在「teardown thread group 」下的執行緒行為與普通執行緒組完全相同。不同的是執行順序:它會在普通執行緒組執行之後被觸發。

應用場景舉例:

a、測試資料庫操作功能時,用於執行關閉資料庫連線的操作。

b、測試使用者購物功能時,用於執行使用者的退出等操作。

注意:預設情況下,如果測試按預期完成,則teardown執行緒組將不會執行。如果你想要執行它,則需要從test plan介面中選中核取方塊「run teardown thread groups after shutdown of main threads」。

這個就是我們通常使用的執行緒。乙個執行緒組可以看做乙個虛擬使用者組,執行緒組中的每個執行緒都可以理解為乙個虛擬使用者。多個使用者同時去執行相同的一批次任務。每個執行緒之間都是隔離的,互不影響的。乙個執行緒的執行過程中,操作的變數,不會影響其他執行緒的變數值。

1、在取樣器錯誤後要執行的動作

例如執行緒組中包含查詢裝置和查詢服務商2個請求,若查詢裝置請求失敗,查詢服務商請求會繼續執行。

例一:執行緒組中包含查詢裝置和查詢服務商2個請求且迴圈次數非1,若查詢裝置請求失敗,查詢服務商請求將不再執行,等下一次重新迭代,從查詢裝置開始執行。

例二:測試計畫中包含執行緒組1和執行緒組2,執行緒組1的迴圈次數是1,那麼執行緒組1執行出錯時,會直接啟動執行緒組2

如測試計畫設定了【獨立執行每個執行緒組(例如在乙個組執行結束後啟動另乙個)】

則執行緒組1中的某個請求失敗了,執行緒組2中的請求不會被執行

2、執行緒屬性

此選項和ramp-up period設定配合使用,如果勾選此項,則所有執行緒會在需要的時候啟動,即會在ramp-up period(in seconds)到時間後啟動所有執行緒,此項作用在於,如果說執行緒執行時間小於我們設定的ramp-up period(in seconds),則會造成一種情況就是在ramp-up period(in seconds)結束之前部分執行緒已經跑完了,這樣就會導致活動執行緒數小於我們設定的執行緒數,也就意味著我們設定的n個併發的場景並未完全起效。但是如果勾選了此項,則執行緒會根據ramp-up period(in seconds)設定來建立,但是不會啟動,直到最後乙個執行緒建立好後一起啟動(這樣就會很好的模擬到我們的n個併發數了)

如果單個執行緒的執行時間長於我們設定的ramp-up period(in seconds)時間,則此項也不用勾選。

舉例說明:如過設定執行緒數為10,ramp-up period(in seconds)時間為100,則如果不勾選此項則此次測試會每隔10s建立並啟動乙個執行緒,那麼100s後會有1-10個執行緒在執行;但是如果勾選此項,那麼執行緒組會每隔10s建立乙個執行緒但並不啟動sample,而是會等待100s後所有10個執行緒都建立好之後同時啟動sample。

持續時間(秒):整個測試計畫持續的時間。(優先於後面的結束時間選項)。注意這個時間設定不要設定的比      ramp-up period(in seconds)小,如果勾選了迴圈次數中的永遠,那麼測試一樣會在此持續時間到達後結束。

啟動延遲(秒):測試計畫啟動後,會被延遲啟動,時間為選項填入的時間。(優先於後面的啟動時間選項)

如果不想立即執行執行,可以通過排程器控制測試執行的開始時間和結束時間

補充執行緒知識:

Jmeter執行緒組使用詳解

以下羅列的是jmeter 所有執行緒組的詳解,包括官方自帶的執行緒組,和官方外掛程式的執行緒組。官方執行緒組安裝,詳見之前的文章 本文詳細介紹了 官方外掛程式的持續加壓執行緒組的使用。1.官方外掛程式 階梯加壓執行緒組1 bzm arrivals thread group 主要功能 階梯控制 每秒 ...

詳解Jmeter執行緒組的設定方法

目錄 個人感覺自己做效能測試,可以說是輕車熟路了,而且工作多年一直都是這一套測試思路及體系,從未質疑過自己,也許是獅子座的迷之自信吧!也就在上週讓我對自己的測試方法及體系產生了質疑!為什麼?在效能測試的時候,壓測500併發通過,人家40併發都過不去。通俗點說,就是你測試沒問題,在人家那測試出問題了,...

Jmeter 執行緒組

執行緒數 就是需要設定多少執行緒執行測試。ramp up period in seconds 用於告知jmeter 要在多長時間內建立全部的執行緒。預設值是0。如果未指定ramp up period 也就是說ramp up period 為零,jmeter 將立即建立所有執行緒。假設ramp up ...