轉自:https://www.cnblogs.com/imyalost/p/6004678.html
一、定時器的作用域
1、定時器是在每個sampler(采樣器)之前執行的,而不是之后(無論定時器位置在sampler之前還是下面);
2、當執行一個sampler之前時,所有當前作用域內的定時器都會被執行;
3、如果希望定時器僅應用於其中一個sampler,則把定時器作為子節點加入;
4、如果希望在sampler執行完之后再等待,則可以使用Test Action;
二、常用的定時器
我這里只寫兩個固定定時器和同步定時器。
1、固定定時器——思考時間
如果你需要讓每個線程在請求之前按相同的指定時間停頓,那么可以使用這個定時器;需要注意的是,固定定時器的延時不會計入單個sampler的響應時間,但會計入事務控制器的時間。
對於“java請求”這個sampler來說,定時器相當於loadrunner中的pacing(兩次迭代之間的間隔時間);
對於“事務控制器”來說,定時器相當於loadrunner中的think time(思考時間:實際操作中,模擬真實用戶在操作過程中的等待時間)。
這里附上一個傳送門,對loadrunner中的pacing和think time有比較全面的解釋:https://zhidao.baidu.com/question/1431215934913423459.html
我們通常說的響應時間,應該大部分情況下是針對某一個具體的sampler(http請求),而不是針對一組sampler組合的事務 。
2、同步定時器(Synchronizing Timer)——集合點
這個定時器和loadrunner當中的集合點(rendezvous point)作用相似,其作用是:阻塞線程,直到指定的線程數量到達后,再一起釋放,可以瞬間產生很大的壓力(人多力量大- -哈哈!)
(1)Number of Simulated Users to Group by:模擬用戶的數量,即指定同時釋放的線程數數量
(2)Timeout in milliseconds:超時時間,即超時多少毫秒后同時釋放指定的線程數