Jmeter中的線程數和并發數不是一回事,這是很容易混淆的兩個概念。線程數可以理解為連接服務器的請求管道,但是連接管道的數量并不一定等于并發數,這些管道向服務器發送的請求不是并行的。在性能測試的過程中經常會用到模擬大量并發請求來測試系統的性能,這需要用到Jmeter的定時器功能。本文舉例講解兩種最常用的兩種定時器Synchronizing Timer和固定定時器,分別實現大量并發和請求等待時間的功能。
1.Synchronizing Timer設置
200為等待集合的線程,到達200個線程后一起向服務器發送請求(并發)
超時時間為等待線程集合的時間,設置為0的意思是一直等待(注:如果最后一次請求線程數不夠會卡在這里)
01.png
2.并發測試效果
02.gif
通過聚合報告可以看出只設置集合點為200,不設置等待時間,tps上升的速度仍然是非??斓模⒉焕谖覀冇^察并發的效果,這種情況下可以設置等待時間,也就是兩次并發之間的間隔時間來觀察系統對高并發數據的處理情況。
3.固定定時器設置
將請求的間隔時間設置為2s
03.png
4.觀察并發測試效果
04.gif
設置了等待時間后,可以通過聚合報告清楚的看到每間隔2秒,同時發出200個請求。
如果不添加定時器,Jmeter每個連接線程向服務器發送的請求是不規律的,如果要最大程度的模擬請求壓力,就需要用到Jmeter中定時器的功能,設置并發(Synchronizing Timer)、設置等待時間(固定定時器)是最常用的定時器。除了這兩個定時器外,Jmeter還提供了其他幾個定時器,本質上的目的都是控制請求頻次來模擬真實的用戶場景。
05.png