JMeter定時器/計時器-Timer- 負載測試中模擬用戶思考時間

在負載測試中需要考慮的的一個重要要素是思考時間(think time), 也就是在兩次成功的訪問請求之間的暫停時間。 有多種情形揮發導致延遲的發生: 用戶需要時間閱讀文字內容,或者填表,或者查找正確的鏈接等。未認真考慮思考時間經常會導致測試結果的失真。例如,估計數值不恰當,也就是被測系統可以支持的最多用戶量(併發用戶)看起來好像要少一些等。

Jmeter提供了一整套的計時器(timer)來模擬思考時間(think time)

Add-> Timer -> Poisson RandomTimer/Gaussian 

 

 

 

1. 高斯隨機定時器
高斯隨機定時器和固定定時器可以用來模擬思考時間。高斯隨機定時器和固定定時器可以用來模擬思考時間。

偏差:設置的偏差值,是一個浮動範圍(例如每個人的思考和打開頁面的時間可能會不同)
固定延遲偏移:固定延遲時間

2.Synchronizing Timer
Synchronizing Timer 集合點可以模擬用戶併發。

Number of Simulated Users to Group by:等待10個用戶一起併發請求
Timeout in milliseconds:如果爲0,表示一直等待,直至上述用戶數都完成再請求;如果非0,例如30,表示只等待30ms,不管是否到上述用戶數都進入下一步的併發。

3.Uniform Random Timer
該定時器可以在請求之間設置一個隨機延時,每個隨機延時有相同的發生概率。總延時=隨機延時 + 固定延時。

 

1、定時器作用域
定時器是在每個sampler(採樣器)之前執行的,而不是之後(不管定時器的位置在sampler之前還是下面);
當執行一個sampler之前時,所有當前作用域內的定時器都會被執行;
如果希望定時器僅應用於其中一個sampler,就把定時器作爲子節點加入;
如果希望sampler執行完之後再等待,則可以使用Test Action;


(1)固定定時器 
 
每個請求發送之前需要等待多少毫秒,這裏我們選擇等待3000ms就是3秒鐘。

è¿éåå¾çæè¿°

(2)同步定時器(Synchronizing Timer) 

這個定時器和loadrunner當中的集合點(rendezvous point)作用相似,其作用是:阻塞線程,直到指定的線程數量到達後,再一起釋放,可以瞬間產生很大的壓力。

Number of Simulated Users to Group by:模擬用戶的數量,即指定同時釋放的線程數數量
Timeout in milliseconds:超時時間,即超時多少毫秒後(不管線程夠不夠)同時釋放當前的線程
 

例如:當放置Constant Timer於兩個http請求之間,那麼它代表的含義是:在上一個請求發出至完成後,

開始Contant Timer指定的時間,最後再發出第二個請求.它並不是代表兩個請求之間的發送間隔時間

圖中的19.701第一個請求發出,經過1.36s時間完成接收,再等待Constant Timer的1s,再開始第二個請求

 

5.Constant Throughput Timer(常數吞吐量定時器)
通過控制每分鐘請求數(即控制吞吐的方式)來控制是否進行延時暫停。 例如,當我們需要使服務端長期處於一定的壓力下時,可以通過該定時器來控制吞吐量。

Constant Throughput Timer:按指定數字的吞吐量執行(每分鐘)。計算吞吐量依據是最後一次線程的執行時延。可以選擇作用的線程:當前線程、當前線程組、所有線程組。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章