需求:驗(yàn)證某系統(tǒng)在一定并發(fā)用戶(200以上)下,網(wǎng)絡(luò)帶寬由100M限制為4M后垮衷,各項(xiàng)性能指標(biāo)變化不大
需求分析:因?yàn)橹皇球?yàn)證系統(tǒng)性能受網(wǎng)絡(luò)帶寬影響不大冈闭,故選取一個(gè)主業(yè)務(wù)流程來(lái)測(cè)試稼稿。
數(shù)據(jù)準(zhǔn)備:為模擬真實(shí)系統(tǒng)場(chǎng)景使用不同用戶操作,故先用csv data set config批量造2000個(gè)用戶
錄制腳本:原理:在原本正常的瀏覽器與服務(wù)器交互中間者吁,添加一個(gè)代理窘俺,代理服務(wù)器會(huì)記錄所有的請(qǐng)求。
1.在瀏覽器設(shè)置一個(gè)代理复凳,指定本地一個(gè)未占用端口(netstat -an查看端口占用情況)瘤泪,比如8888
2.然后jmeter設(shè)置一個(gè)代理服務(wù)器,監(jiān)聽(tīng)8888端口育八,這樣所有經(jīng)過(guò)瀏覽器的交互請(qǐng)求对途,都會(huì)被記錄,這里可以設(shè)置包含和排除模式单鹿,可以過(guò)濾掉一些不需要的圖片加載和靜態(tài)頁(yè)面(如下圖所示)掀宋。
3.在測(cè)試計(jì)劃下新建一個(gè)線程組(起名集中新增用戶),用來(lái)存放錄制的腳本仲锄,然后在代理服務(wù)器那選擇該線程組
4.點(diǎn)擊開(kāi)始后劲妙,彈出以下窗口,就可以開(kāi)始進(jìn)行業(yè)務(wù)操作了儒喊。
5.錄完后刪掉無(wú)用請(qǐng)求镣奋,只保留.do結(jié)尾和.JSP結(jié)尾的請(qǐng)求,然后修改腳本怀愧,將用戶賬號(hào)侨颈、id參數(shù)化,關(guān)于如何參數(shù)化設(shè)置請(qǐng)查看我以前的文章芯义。
6.先設(shè)置并發(fā)用戶200哈垢,測(cè)試系統(tǒng)正常,然后將并發(fā)用戶改成500扛拨,系統(tǒng)就開(kāi)始失效了(接口響應(yīng)大面積失斣欧帧),然后按100依次遞減找拐點(diǎn)用戶數(shù)绑警。
依次測(cè)試400并發(fā)用戶求泰、300…最后發(fā)現(xiàn)系統(tǒng)支持最大并發(fā)用戶數(shù)為300(此時(shí)接口請(qǐng)求都能正常響應(yīng)),也滿足壓測(cè)要求的200以上计盒。
7.300個(gè)并發(fā)用戶渴频,循環(huán)10次,tps有327北启,限速后tps也差不多卜朗,變化不大拔第,結(jié)果證明系統(tǒng)在300并發(fā)用戶下,性能是不受4M網(wǎng)絡(luò)帶寬影響的聊替,本次驗(yàn)證通過(guò)楼肪。報(bào)告結(jié)果如下:
期間遇到一個(gè)問(wèn)題:登錄請(qǐng)求已經(jīng)成功培廓,但是后面的接口請(qǐng)求惹悄,返回的依然是"請(qǐng)登錄",該問(wèn)題是因?yàn)闆](méi)有添加cookie管理器導(dǎo)致肩钠,添加后問(wèn)題解決泣港。