jmeter接口性能測(cè)試詳解
Apache JMeter是Apache組織開(kāi)發(fā)的基于Java的壓力測(cè)試工具。用于對(duì)軟件做壓力測(cè)試,它最初被設(shè)計(jì)用于Web應(yīng)用測(cè)試,但后來(lái)擴(kuò)展到其他測(cè)試領(lǐng)域。 它可以用于測(cè)試靜態(tài)和動(dòng)態(tài)資源,例如靜態(tài)文件、Java 小服務(wù)程序、CGI 腳本、Java 對(duì)象、數(shù)據(jù)庫(kù)、FTP 服務(wù)器, 等等。JMeter 可以用于對(duì)服務(wù)器、網(wǎng)絡(luò)或?qū)ο?a href="http://www.delux-kingway.cn/analog/" target="_blank">模擬巨大的負(fù)載,來(lái)自不同壓力類(lèi)別下測(cè)試它們的強(qiáng)度和分析整體性能。另外,JMeter能夠?qū)?yīng)用程序做功能/回歸測(cè)試,通過(guò)創(chuàng)建帶有斷言的腳本來(lái)驗(yàn)證你的程序返回了你期望的結(jié)果。為了最大限度的靈活性,JMeter允許使用正則表達(dá)式創(chuàng)建斷言。
Apache jmeter 可以用于對(duì)靜態(tài)的和動(dòng)態(tài)的資源(文件,Servlet,Perl腳本,java 對(duì)象,數(shù)據(jù)庫(kù)和查詢(xún),F(xiàn)TP服務(wù)器等等)的性能進(jìn)行測(cè)試。它可以用于對(duì)服務(wù)器、網(wǎng)絡(luò)或?qū)ο竽M繁重的負(fù)載來(lái)測(cè)試它們的強(qiáng)度或分析不同壓力類(lèi)型下的整體性能。你可以使用它做性能的圖形分析或在大并發(fā)負(fù)載測(cè)試你的服務(wù)器/腳本/對(duì)象。
jmeter接口性能測(cè)試步驟
獲取某個(gè)具體網(wǎng)關(guān)設(shè)備的基本信息。
請(qǐng)求
方法:GET
URI:/api/gateway/《gateway_id》
在HTTP請(qǐng)求(http request)的頭部(header)添加Userid和Token字段作為用戶驗(yàn)證字段。
返回值:JSON格式的網(wǎng)關(guān)信息
參數(shù):
1.啟動(dòng)jmeter:
在bin下以管理員身份運(yùn)行jmeter.bat,啟動(dòng)jmeter
2. 創(chuàng)建測(cè)試計(jì)劃:
默認(rèn)啟動(dòng)jmeter時(shí)會(huì)加載一個(gè)測(cè)試技術(shù)模板,保存測(cè)試計(jì)劃:修改名稱(chēng)為Apitest,點(diǎn)擊保存,選擇保存路徑,后面的步驟,每次添加或修改了了一些選項(xiàng),軟件并不會(huì)自動(dòng)保存到j(luò)mx文件中,所以進(jìn)行測(cè)試后,如果需要保存本次測(cè)試選項(xiàng),要手動(dòng)到“文件”菜單中保存一下。
3. 添加線程組
右鍵左邊樹(shù)中的測(cè)試計(jì)劃“Apitest”節(jié)點(diǎn),“添 加”→”Threads”→”線程組”
添加成功后,“Apitest”節(jié)點(diǎn)下多了“線程組” 節(jié)點(diǎn),當(dāng)然這個(gè)線程組的名稱(chēng)是可以自己設(shè)定的。
4. 添加http默認(rèn)請(qǐng)求:(用來(lái)配置公共參數(shù),不是http請(qǐng)求)
右鍵線程組,選擇“添加”→ “配置元件”→“HTTP請(qǐng)求默認(rèn)值”,點(diǎn)擊“HTTP請(qǐng)求默認(rèn)值”后
添加成功后,線程組”節(jié)點(diǎn)下多了“HTTP請(qǐng)求默認(rèn)值”節(jié)點(diǎn)
這里可以設(shè)置主機(jī)地址等一下公共參數(shù),比如我們的例子中請(qǐng)求路徑前面都是主機(jī)地址+index.php,就可以統(tǒng)一在“http請(qǐng)求默認(rèn)值”里設(shè)置
填寫(xiě)默認(rèn)請(qǐng)求名、服務(wù)器、默認(rèn)請(qǐng)求路徑,保存測(cè)試計(jì)劃。
5.添加http請(qǐng)求信息頭
這一項(xiàng)并不是必須的,只不過(guò)我們的例子中使用了Userid和Token放在HTTP請(qǐng)求頭中用作用戶驗(yàn)證
右鍵“Apitest”,選擇“添加”→ “配置元件”→“HTTP信息頭管理器”
6. 添加http請(qǐng)求
右鍵“Apitest”,選擇“添加”→ “Sampler”→“HTTP請(qǐng)求”
添加成功后,出現(xiàn)新的節(jié)點(diǎn)“HTTP請(qǐng)求”,就可以填寫(xiě)具體的請(qǐng)求參數(shù)了。
填寫(xiě)完成,保存測(cè)試計(jì)劃
7. 添加監(jiān)聽(tīng)器:
右鍵線程組,選擇“添加”→“監(jiān)聽(tīng)器”→“XXXXXXXXX”
可以添加的監(jiān)聽(tīng)器有很多種,可以添加多個(gè)監(jiān)聽(tīng)器,這里我們添加幾個(gè)常用的“圖形結(jié)果”、“察看結(jié)果樹(shù)”、“聚合報(bào)告”
添加成功后,“線程組”下增加了幾個(gè)節(jié)點(diǎn)
8. 試運(yùn)行
點(diǎn)擊執(zhí)行
可以查看各個(gè)“監(jiān)聽(tīng)器”的結(jié)果
Label:每個(gè) JMeter 的 element(例如 HTTP Request)都有一個(gè) Name 屬性,這里顯示的就是 Name 屬性的值
#Samples:表示你這次測(cè)試中一共發(fā)出了多少個(gè)請(qǐng)求,如果模擬10個(gè)用戶,每個(gè)用戶迭代10次,那么這里顯示100
Average:平均響應(yīng)時(shí)間——默認(rèn)情況下是單個(gè) Request 的平均響應(yīng)時(shí)間,當(dāng)使用了 Transaction Controller 時(shí),也可以以Transaction 為單位顯示平均響應(yīng)時(shí)間
Median:中位數(shù),也就是 50% 用戶的響應(yīng)時(shí)間
90% Line:90% 用戶的響應(yīng)時(shí)間
Min:最小響應(yīng)時(shí)間
Max:最大響應(yīng)時(shí)間
Error%:本次測(cè)試中出現(xiàn)錯(cuò)誤的請(qǐng)求的數(shù)量/請(qǐng)求的總數(shù)
Throughput:吞吐量——默認(rèn)情況下表示每秒完成的請(qǐng)求數(shù)(Request per Second),當(dāng)使用了 Transaction Controller 時(shí),也可以表示類(lèi)似 LoadRunner 的 Transaction per Second 數(shù)
KB/Sec:每秒從服務(wù)器端接收到的數(shù)據(jù)量,相當(dāng)于LoadRunner中的Throughput/Sec
9. 修改線程組的線程數(shù)等參數(shù),用于壓力測(cè)試
點(diǎn)擊左側(cè)樹(shù)形導(dǎo)航中的“線程組”
設(shè)置上面幾個(gè)參數(shù),模擬的總的請(qǐng)求數(shù)是:線程數(shù)*循環(huán)次數(shù)。執(zhí)行一下,用“圖形結(jié)果”監(jiān)聽(tīng)器查看一下
樣本數(shù)目:總共發(fā)送到服務(wù)器的請(qǐng)求數(shù)。
最新樣本:代表時(shí)間的數(shù)字,是服務(wù)器響應(yīng)最后一個(gè)請(qǐng)求的時(shí)間。
吞吐量:服務(wù)器每分鐘處理的請(qǐng)求數(shù)。
平均值:總運(yùn)行時(shí)間除以發(fā)送到服務(wù)器的請(qǐng)求數(shù)。
中間值:時(shí)間的數(shù)字,有一半的服務(wù)器響應(yīng)時(shí)間低于該值而另一半高于該值。
偏離:服務(wù)器響應(yīng)時(shí)間變化、離散程度測(cè)量值的大小,或者,換句話說(shuō),就是數(shù)據(jù)的分布。
Note:如果要進(jìn)行新的測(cè)試,為了清除上次運(yùn)行的結(jié)果,請(qǐng)點(diǎn)擊上方的掃把。
非常好我支持^.^
(0) 0%
不好我反對(duì)
(0) 0%
相關(guān)閱讀:
( 發(fā)表人:李建兵 )