簡(jiǎn)介
Apache JMeter是Apache組織開發(fā)的基于Java的壓力測(cè)試工具。用于對(duì)軟件做壓力測(cè)試,它初被設(shè)計(jì)用于Web應(yīng)用測(cè)試,但后來擴(kuò)展到其他測(cè)試領(lǐng)域。它可以用于測(cè)試靜態(tài)和動(dòng)態(tài)資源例如靜態(tài)文件、Java 小服務(wù)程序、CGI 腳本、Java 對(duì)象、數(shù)據(jù)庫(kù), FTP 服務(wù)器, 等等。
安裝
上面的文字提到 Jmeter是基于Java進(jìn)行開發(fā)的,所以理論上我們可以運(yùn)行于任何安裝有Java的平臺(tái)上,而事實(shí)也確實(shí)如此,我們大概說一下安裝步驟。
· 安裝Java環(huán)境,這一步我們不做過多解釋了,無論是百度、google 都可以搜到大量設(shè)備安裝Java的技術(shù)文章。
· 下載源代碼,官網(wǎng)下載
打開官網(wǎng),到下載頁(yè)面
· 解壓
· 運(yùn)行
對(duì)于有用戶界面的Windows和Mac來說雙擊bin目錄下的jmeter即可,對(duì)于無用戶界面的server端我們接下來會(huì)專門說一下。
更加詳細(xì)的打開方式可以看這里
使用
我們現(xiàn)在已經(jīng)將Jmeter安裝完成了,下面的問題是如何操作了
下圖便是Jmeter打開后的界面
· 添加測(cè)試任務(wù)
本文主要示例為 模擬多GET請(qǐng)求的負(fù)載測(cè)試方案
界面開始已經(jīng)默認(rèn)添加了一個(gè)測(cè)試計(jì)劃,我們下面的步驟 也是要圍繞著這個(gè)測(cè)試計(jì)劃展開。
· 添加線程組
在線程組里我們要定義模擬訪問的用戶量以及訪問頻率訪問時(shí)間
線程數(shù) 表示模擬同時(shí)有多少個(gè)用戶進(jìn)行訪問
訪問周期 表示每組現(xiàn)成訪問的時(shí)間間隔
循環(huán)次數(shù) 則是表示線程組要循環(huán)訪問多少次,可選永遠(yuǎn)
調(diào)度器 則是為了更好地控制測(cè)試的時(shí)間 在里面我們可以更好的指定測(cè)試計(jì)劃,一般 調(diào)度器與循環(huán)次數(shù)任選其一
· 添加HTTP請(qǐng)求內(nèi)容
添加HTTP請(qǐng)求內(nèi)容,是真正我們要定義的請(qǐng)求的域名,請(qǐng)求的訪問方式 訪問內(nèi)容的地方。
web服務(wù)器一欄我們不多解釋了,主要是請(qǐng)求的域名,IP加端口,在上圖中我們以本地跑的一個(gè)服務(wù)為例
HTTP請(qǐng)求這一欄是定義請(qǐng)求的內(nèi)容,請(qǐng)求的path、POST請(qǐng)求的內(nèi)容、上傳的文件等東西
在這里我們要模擬GET請(qǐng)求來測(cè)試 服務(wù)器的負(fù)載均衡,要考慮多樣情況,我們自然要分不同的請(qǐng)求接口來進(jìn)行測(cè)試,而不能單獨(dú)放在一個(gè)接口上吊死,這樣可以更加真實(shí)的模擬用戶請(qǐng)求,也可以更加真實(shí)測(cè)出server的負(fù)載。