簡體   English   中英

JMeter中線程與控制器的關系

[英]Relation of thread vs controller in JMeter

我正在研究JMeter並試圖理解這些概念。 特別令我困惑的是線程與控制器。
我知道一個線程代表一個用戶,一個控制器是一個采樣器的容器並決定它們的執行。
但是線程和控制器的關系是什么? 線程是否執行作為線程組子項的所有控制器?
所以一個線程(為了簡化)調用每個控制器,然后依次觸發樣本?
但是例如,在我的線程組中指定循環計數為 20 與使用While 控制器觸發請求 20 次之間有什么區別?
任何幫助清除這個?

你很好理解,一個線程代表一個用戶,一個控制器是一個采樣器的容器,並決定它們的執行。

是的,它確實執行與否(如果控制器在 IfController 內)所有作為子級的控制器。

是的,一個線程(為了簡化)調用每個控制器,然后依次觸發樣本。

但是例如,在我的線程組中指定循環計數為 20 與使用 While 控制器觸發請求 20 次之間有什么區別? 很簡單,很多人加了一個WhileController,只要設置循環次數就夠了。

如果您想在主迭代中重復一組樣本,通常需要一個 While 控制器。

閱讀JMeter 組件參考測試計划的元素

另請閱讀范圍規則以了解配置元素的應用方式。

它就像在 Java 中一樣。 線程表示執行線程控制器代表控制結構 因此,如果您想決定對測試應用程序施加的壓力,主要是線程數。 每個線程按順序執行其子線程。 如果您想多次測試同一件事,因為控制器是您的伴侶,如果您想並行執行此操作,則需要線程(具有給定線程數的線程組)。


當您想對測試進行參數化時,您需要了解一個主要區別。

例如,您有一個 Web 應用程序,並且有 100 個演示用戶。 每個用戶只能登錄一次。 在這種情況下,您需要一些東西,告訴您的測試線程,他們應該使用哪個用戶。 這通常是一個CVS 數據集,它可以以某種方式使用,線程可以為自己獲取一行,然后他們使用它。 您也可以說,當 CSV 中沒有更多行時,您的測試應該停止。 相同的概念(為 for 循環中的每次迭代提供一個數據)更難用 for 循環或其他控制器實現。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM