jmeter執行緒組的使用
執行緒組Thread Group的引數主要分為三個部分:
第一部分:Action to be taken after a sample error(在取樣器錯誤後要執行的動作):
1、continue(繼續):如下圖所示,如果login取樣器錯誤以後,還會繼續執行service操作。
2、Start Next Loop(忽略錯誤,執行下一個迴圈):假如第一次迴圈的時候,login操作失敗了,但是login操作還是會執行下一次迴圈。
3、Stop Thread(停止執行緒):如果login操作失敗,service操作也不會繼續。
4、Stop Test(等待當前執行的取樣器結束後,結束整個測試):如果login操作失敗,當前正在執行的操作是HTTP Request,那麼要等執行完HTTP Request之後才會結束整個測試。
結果:
5、Stop Test Now(立即停止整個測試):
指令碼及其配置與4唯一的不同,login的執行緒組選項為Stop Test Now,結果如下:
立即停止整個測試,導致正在執行的取樣器結果失敗,失敗原因:java.net.SocketException: Socket closed。
第二部分:
1、Number of Threads(users):使用者個數
2、Ramp-up Period(in seconds):在多長時間內,載入指定的使用者個數,單位為s。
假如需載入100個使用者,在5s中之內載入完成,那麼平均每秒鐘載入20個使用者。
3、Loop Count(迴圈次數):使用者執行操作的迴圈次數,如果選擇forever,則永遠迴圈下去。
檢視結果發現,Thread Name有兩種:Thread Group 1-2 和Thread Group 1-1,操作共6次,跟我們的設想一致。
兩個使用者,分別做3次service操作,所以共6次。
4、Delay Thread creation until needed:大致是這個意思,當執行緒需要執行的時候,才會被建立。如果不選擇這個選項,那麼,在計劃開始的時候,所有需要的執行緒就都被建立好了。
5、Schedule(排程器):配合第三部分說明吧。
第三部分:
1、Duration(seconds):持續時間,該執行緒組持續操作的時間。在此選項填入N,說明這個計劃,從某個開始時間算起,執行N秒後結束。
2、Startup delay(seconds):延遲時間。在此選項填入N,手動點選開始執行計劃,然後延遲N秒後,計劃才真正開始執行。