真的理解Jmeter線程數(shù)、Ramp-Up、循環(huán)次數(shù)嗎?

并非原創(chuàng),摘抄自:這里

Jmeter平時做API接口的吞吐量測試,幾個配置項很好上手沒有去深入思考。

有幾個疑問:

1 Ramp-Up配置時間實際作用?

2 循環(huán)是在哪個時間點開始執(zhí)行的?與線程組的關系是怎樣的?

3 配置10/s個并發(fā)如何實現(xiàn)?

有疑問就實踐,讀別人博客難免找不到自己想要的內(nèi)容。

實踐疑問1:

Ramp-UP time的實際作用,圖一為例解釋:有5個線程需要5秒發(fā)送完成,也就是1個/s請求。(如果線程數(shù)是10,ramp-up time是5,又是什么意思?)

注:線程數(shù)抽象實例化后就是用戶數(shù),Ramp-up time是規(guī)定所有用戶在時間段內(nèi)把請求發(fā)送完(前提條件循環(huán)次數(shù)是1),而且請求的時間間隔是固定的=Ramp-Up time/線程數(shù)。

看執(zhí)行結(jié)果統(tǒng)計:從結(jié)果中可以看出,總計時耗時5s,請求數(shù)是5個,時間間隔是固定的1秒(這個總時耗和時間間隔就是Ramp-Up time實際作用)。

疑問二: 循環(huán)是在哪個時間點開始執(zhí)行的?與線程組的關系是怎樣的?

解答:循環(huán)開始時間幾乎與啟動時間并行,

如下圖解釋:a循環(huán)數(shù)為1的解釋是1個/s請求發(fā)5次請求。

b循環(huán)數(shù)為2時解釋是(1個/s請求發(fā)5次)執(zhí)行2遍(循環(huán)數(shù)),循環(huán)開始執(zhí)行時間幾乎與第一遍執(zhí)行時間并行。(仔細觀察Thread Name的時間點)

疑問三:配置10/s個并發(fā)如何實現(xiàn)?是否可以通過(線程數(shù),Ramp-Up time、循環(huán)數(shù))配合來實現(xiàn)?

方法一: 通過(線程數(shù),Ramp-Up time、循環(huán)數(shù))配合來實現(xiàn)

組合有很多種,我列了幾個

方法二:用Jmeter自帶Constant Throughput Timer插件實現(xiàn),實際測試這樣配置要達到10/s的效果不可行。(原因:評估這個配置限制TPS值的最小單位是minute,所有對數(shù)量小的請求統(tǒng)計測試不準是可以理解的。)具體是什么原因該以后工作留個疑問,多閱讀多思考。

對上minute級別的大并發(fā)測試這個配置項應該是準的。

劃重點:

總請求數(shù) = 線程數(shù) * 循環(huán)次數(shù) 每秒請求數(shù) = 總請求數(shù) / ramp-up

加一些自己的理解:

其實循環(huán)次數(shù)并不是說,執(zhí)行完第一輪之后再執(zhí)行第二輪。拿循環(huán)次數(shù)為10來說,不是1到10一遍一遍的執(zhí)行(執(zhí)行完1遍再執(zhí)行第2遍、第3遍...第10遍),理解成1到10同時進行就可以了。在啰嗦點,就是開啟了10個線程來執(zhí)行

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

友情鏈接更多精彩內(nèi)容