


如果有如下接口邏輯,Jmeter有2種實(shí)現(xiàn)方式:

添加3個(gè)測(cè)試片段,C測(cè)試片段包含requestC1和requestC1;D測(cè)試片段包含requestD1和requestD1;E測(cè)試片段包含requestE1和requestE1。再添加模塊控制器,用于選擇執(zhí)行完A和B之后執(zhí)行那個(gè)測(cè)試片段:

第二種方法,添加三個(gè)簡(jiǎn)單控制器在交替控制器下面:











如果幾個(gè)請(qǐng)求組成了一個(gè)事務(wù),需要測(cè)試整個(gè)事務(wù)的響應(yīng)時(shí)間,可以添加一個(gè)事務(wù)控制器,把對(duì)應(yīng)的請(qǐng)求按順序放在事務(wù)下面:


一定要勾選上“Generate parent sample”來(lái)去除事務(wù)造成的多余時(shí)間:

為了保證每次請(qǐng)求都是正確的,可以給請(qǐng)求添加“響應(yīng)斷言”




集合點(diǎn)是用來(lái)模擬并發(fā)的,除了秒殺場(chǎng)景,不建議使用同步定時(shí)器來(lái)同時(shí)發(fā)送請(qǐng)求,一般的業(yè)務(wù)場(chǎng)景建議使用隨機(jī)思考時(shí)間。

性能測(cè)試時(shí),不要開(kāi)起查看結(jié)果樹(shù),or只查看error結(jié)果信息:

需要添加匯總報(bào)告和聚合報(bào)告來(lái)查看性能測(cè)試結(jié)果:


samples:每個(gè)請(qǐng)求執(zhí)行了多少次
average:平均響應(yīng)時(shí)間毫秒;
Min:最小響應(yīng)時(shí)間;
Max:最大響應(yīng)時(shí)間;
std Dev:標(biāo)準(zhǔn)方差,越大表示數(shù)據(jù)的離散程度越小,平均值就越可靠,方差/average不要超過(guò)1。
error:錯(cuò)誤率;
Throughtput:tps,每s處理多少請(qǐng)求;
Received KB/s:每秒從服務(wù)器接受的數(shù)據(jù)的大小;
Sent KB/s:每次請(qǐng)求發(fā)送和接受的平均數(shù)據(jù)量

先看匯總報(bào)告,如果average和方差不大,平均值可靠就不用看聚合報(bào)告,如果匯總報(bào)告中的標(biāo)準(zhǔn)方差較大,請(qǐng)求的響應(yīng)值很分散,就需要查看聚合報(bào)告中的3個(gè)用戶體驗(yàn)數(shù)據(jù)(90% 95%99% line)90% Line:有90%的響應(yīng)時(shí)間小于145mm,95%,99%同理。這些用戶體驗(yàn)數(shù)據(jù)是可以在Jmeter.properties文件中修改。






注意:如果修改了jmeter的log屬性,使用命令行再次運(yùn)行腳本時(shí),一定要重命名log文件,如果log文件名相同,測(cè)試結(jié)果會(huì)追加到以前的文件后面,以前是csv格式,修改后是xml格式,這樣這個(gè)log文件的前后格式不一致,就無(wú)法使用Jmeter GUI打開(kāi)查看了。







添加一個(gè)Property Display元件,可以在里面看到System和Jmeter Properties:
