天天看點

Jmeter之線程組詳解

 hello,更新幾天的分享,線程數現在才分享,感覺怪怪的,原諒我沒有考慮到一個順序問題哈,那裡總結好了,我就發那裡,先把元件都寫完,再來項目實戰,希望大家不要責怪哈,内容有寫的不詳細的,或者我說錯了,請大家回複我下,畢竟不想誤人子弟,感謝各位的指點哈,不啰嗦了,上主題, 詳解下線程組,當我們說多少多少并發的時候,也可以說一秒内,多少線程組*循環次數,這裡需要注意的,這裡的時間,是配置設定線程用的,比如線程數10,時間是5秒,循環2次,也就是說,一秒會執行兩個線程*2次循環,一秒并發4次請求,這個大白話說的夠白了。。。。

Jmeter之線程組詳解
我們先說下這個:
Jmeter之線程組詳解
Thread Group 

  • Name:任意,具有有意義的名字
  • Comments:備注資訊
  • Action to be taken after a Sampler error
  • a.Contiune:繼續。某一個請求遇到錯誤後,其他請求繼續執行。我們在大量使用者并發的時候,某個請求失敗屬正常現象
  • b.Start Next Thread Loop:如遇到錯誤後面的請求将不再執行,等下一輪再開始執行。例如線程組中包含登入和發帖2個請求,若登入請求失敗,發帖請求将不再執行,等下一次重新疊代,從登入開始執行。
  • c.Stop Thread:遇到錯誤就停止線程再也不執行了。例如線程組中有50個線程,其中某一個線程的某個請求遇到錯誤即停止線程不再執行,剩下49個線程繼續執行。若線程錯誤的比較多,剩餘的線程就較少,此時負載數量就不足了,測試結果不滿足測試要求,是以一般不會勾選此項。
  • d.Stop Test:某個線程某個請求遇到錯誤,停止所有線程,也就是停止整個測試,但是線程中的餘下的請求還是會執行完再停止。例如線程1中包含登入和發帖2個請求,其他線程遇到錯誤,現在要全部停下來,線程1發帖請求還是會執行,然後再停止測試。
  • e.Stop Test Now:遇到錯誤立即停止所有線程,即整個測試。

Thread Properties

  • a.Number of Threads(users) :線程數,一個線程相當于一個虛拟使用者
  • b.Ramp-Up Period(in second):線程啟動開始運作的時間間隔,機關秒。即所有線程在多長時間内全部啟動。例如線程60個,Ramp-Up Period設定為20s,那麼每秒啟動60/20=3個線程,不填寫預設設定為0,即所有線程在開啟場景後立即啟動。
  • c.Loop Count:循環次數。勾選forever,将一直執行,除非手動停止或崩潰
Jmeter之線程組詳解

Delay Thread creation until needed : 預設不勾選,測試開始的時候,所有線程就被建立完。勾選了此選項,那麼線程隻會在合适的需要用到的時候建立。

勾選,例如50個線程Ramp-Up Period為10s,那麼每隔1s啟動50/10=5個線程并運作下面的請求(狀态為running);不勾選,測試計劃開始後啟動所有線程(狀态為new),但是不立即執行下面的請求。例如50個線程Ramp-Up Period為10s,那麼計劃開始後所有線程全部就緒,但第一秒隻有5個線程開始運作請求。實際應用中選擇哪種都可以,不影響測試結果。

個人了解:例如銀行辦業務10個人,勾選,櫃台隻有一個人在辦理(running狀态),剩下的人可以坐在位置上等候;不勾選,10個人都站在櫃台外面排隊等候(不是坐着),等待叫号。

Jmeter之線程組詳解
  • a.Duration(seconds):持續時間,測試計劃持續多長時間。
  • b.Startup delay(seconds):啟動延時。點選啟動按鈕後,僅初始化場景,不運作線程,等待延時時間到才運作。

每天一點點,感受自己存在的意義。