Jmeter系列(7)- 基礎執行緒組Thread Group
阿新 • • 發佈:2020-04-27
如果你想從頭學習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