場景:作為開發(fā)人員經(jīng)常需要進(jìn)行java接口的壓測洲愤,比如商品搶購颓芭、并發(fā)量大的活動接口,需要模擬多用戶進(jìn)行并發(fā)壓測柬赐,這個時候就需要使用到Apache的Jmeter壓測工具了亡问,本篇講述的是使用Jmeter自定義變量模擬多用戶壓測,通俗點講:就是把參數(shù)都放在一個文件中肛宋,Jmeter調(diào)用接口時動態(tài)的去讀取州藕,比如你壓測某個接口,接口入?yún)⑿枰猽sername酝陈、pricecode床玻,將這些個參數(shù)都以下面的格式放在某個文件中,壓測接口時讓接口動態(tài)的讀瘸涟铩:
17802115971_170921m80,1yuangou_h5
15927730423_150968z24,99yuanvip_pc
具體步驟:
1锈死、 如果你還沒有安裝Jmeter贫堰,請移步至http://jmeter.apache.org/download_jmeter.cgi下載對應(yīng)的版本并安裝;
2、安裝好后打開界面如下
默認(rèn)的語言是English待牵,要是你不習(xí)慣其屏,可往 Options 》Choose Languages 修改為中文,還有主題色缨该,可往 Options 》Look and Feel選項進(jìn)行修改;
3偎行、選中Test plan右擊 》添加 》Threads(Users) 》線程組
4、選中線程組右擊 》添加 》配置元件 》HTTP請求默認(rèn)值
這里配置HTTP請求默認(rèn)值的目的就是為了方便压彭,因為HTTP請求默認(rèn)值是Test Plan下公用的睦优,這樣你就不用在HTTP請求項時一個個配置,注意此步驟不是必須的壮不,你可以直接跳到步驟5;
5汗盘、選中線程組右擊 》添加 》Sampler 》HTTP請求,這里要注意:接口入?yún)?{username}里的username和第6步驟中username询一、以及和接口的入?yún)?a target="_blank" rel="nofollow">http://localhost/common/checkjoin?username=××都是一致的隐孽。
6、選中線程組右擊 》添加 》配置元件 》CSV數(shù)據(jù)文件設(shè)置
這里的變量名稱必須和步驟5設(shè)置的同請求一同發(fā)送的參數(shù)項要一致健蕊,且和你的controller中的參數(shù)名也要一致菱阵。
如果接口里包含多個,步驟六中配置的變量名稱就得用你自己指定的符號分隔開(上圖中的分隔符)缩功,要對應(yīng)你的csv文件中每一列參數(shù)分隔符晴及,且步驟五同請求一起發(fā)送的參數(shù)名字也要對應(yīng)。
例如我的param.txt文件是這樣子的:只有一列username的取值
如果你的參數(shù)只有一個嫡锌,但是也設(shè)置了逗號分隔之類的虑稼,也是可以的,不產(chǎn)生影響;
7势木、選中線程組右擊 》添加 》監(jiān)聽器 》察看結(jié)果樹
察看結(jié)果樹界面可以看到每個接口的請求蛛倦、返回值之類的,類似于抓包后的數(shù)據(jù)啦桌。在監(jiān)聽器選項里還有其他很多選項可以查看到壓測情況:
8溯壶、啟動你的服務(wù)器,我是idea啟動的本地服務(wù)甫男,實際壓測下
9且改、要及時的保存測試計劃Test Plan,不然關(guān)閉后下次進(jìn)來就找不到了板驳,同時钾虐,壓測后可以右擊查看結(jié)果樹,清除上一次的測試接口笋庄。
原文可見:Jmeter壓測java接口效扫、Jmeter自定義變量模擬多用戶壓測