1. 程式人生 > >Jmeter系列(7)- 基礎執行緒組Thread Group

Jmeter系列(7)- 基礎執行緒組Thread Group

如果你想從頭學習Jmeter,可以看看這個系列的文章哦

htTPS://www.cnblogs.com/poloyy/category/1746599.html

 

Thread Group基礎執行緒組介紹

 

Thread Group的簡單理解

  • 執行緒組是一個測試計劃的開始點
  • 在一個測試計劃中的所有元件都必須在某個執行緒組下
  • 執行緒組決定Jmeter執行測試計劃的執行緒數

 

Thread Group提供的主要作用

  • 設定執行緒數
  • 設定ramp-up period
  • 設定執行測試的次數

 

Thread Group的獨立性

每個執行緒都會獨立的執行測試計劃,互不干擾,多個執行緒用於模仿對伺服器的併發訪問。

 

Thread Group執行緒屬性講解

 

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

預設:繼續

建議:繼續

假設一個HTTP Sampler報錯了,後面還有其他請求,最好肯定是繼續執行下去啦

 

執行緒屬性值

設定的執行緒屬性值是【預期壓力值】

而聚合報告是【壓力測試的實際結果】

 

執行緒數

  • Jmeter java程序下啟動的執行緒,用來模擬真實使用者數,1執行緒數 = 1使用者數
  • windows下,java程序最多能啟動1000個執行緒
  • Linux下,java程序最多能啟動2000個執行緒
  • 在Jmeter中,先啟動執行緒,再執行執行緒,後釋放執行緒

 

Ramp-Up時間(秒)

  • 預期啟動所有執行緒所需的總時間
  • ramp up=0時,表示瞬時加壓,啟動執行緒的時間無限趨近於0
  • 特別注意:在負載測試的時候,儘量把ramp up設定大一些,讓效能曲線平緩,分析瓶頸點

 

迴圈次數

  • 每個執行緒迴圈執行的次數,預設一次【便於理解:執行緒的迭代次數、重複發起請求的次數】
  • 如果設定為永遠,那麼jmeter將以最大的可能去傳送請求,以此測試出最大併發數

 

執行緒屬性值的簡單栗子

上圖:2s內啟動100個執行緒,隨後傳送200個請求(100*2)

備註:如果2s內,100個執行緒不能啟動完的話,時間則會順延下去

 

排程器Specify Thread Lifetime【scheduler】

排程器的作用:控制每個執行緒組執行的持續時間以及它在多少秒後再啟動

Duration (seconds) :持續時間;執行緒組執行的持續時間

Startup Delay (seconds):啟動延遲;測試計劃開始後,執行緒組的執行緒將在多少秒後再啟動執行

 

排程器和迴圈次數的關係

  • 迴圈次數有固定值,持續時間不會生效,以迴圈次數為準
  • 迴圈次數設定為永遠,持續時間才會生效

 

排程器注意事項

當執行緒組執行完持續時間後,會逐步釋放執行緒,不會一下子把所有執行緒釋放掉,而釋放執行緒也是需要時間的~

所以測試計劃總的時間(右上角的時間)會 > 持續時間+啟動延遲

 

預習TPS

  • 總的完成請求數 = 執行緒總數 * 迴圈次數
  • 平均TPS = 總請求數 / 執行緒執行總時間【上圖,右上角黃色三角形的時間】
  • 平均TPS(即聚合報告的TPS)是僅供參考的
  • 實際的TPS是由響應時間決定的,需要通過響應時間結果圖和TPS結果圖來最後得出 

&n