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 可以用于對(duì)服務(wù)器、網(wǎng)絡(luò)或?qū)ο竽M巨大的負(fù)載,來在不同壓力類別下測(cè)試它們的強(qiáng)度和分析整體性能。另外,JMeter能夠?qū)?yīng)用程序做功能/回歸測(cè)試,通過創(chuàng)建帶有斷言的腳本來驗(yàn)證你的程序返回了你期望的結(jié)果。為了大限度的靈活性,JMeter允許使用正則表達(dá)式創(chuàng)建斷言。
1. 下載JMeter
官方網(wǎng)站下載新版本: http://jmeter.apache.org/download_jmeter.cgi ,目前新版是Apache JMeter 2.9
使用JMeter依賴jdk,建議安裝jdk 1.6版本
Linux下安裝jdk參考文章:http://www.linuxeye.com/Linux/Linux-install-JDK.html
Windowns下安裝jdk同Linux下安裝類似,這里不介紹了。
2. 啟動(dòng)JMeter
這里在win下進(jìn)行,圖形界面較為方便
在目錄apache-jmeter-2.9in 下可以見到一個(gè)jmeter.bat文件,雙擊此文件,即看到JMeter控制面板。
3. 運(yùn)行預(yù)準(zhǔn)備
現(xiàn)在來對(duì)LinuxEye進(jìn)行壓力測(cè)試,壓力測(cè)試對(duì)象為隨機(jī)的幾個(gè)網(wǎng)頁(yè)鏈接,這幾個(gè)鏈接是寫在一個(gè)文本文件中的,在壓力測(cè)試的時(shí)候會(huì)隨機(jī)讀取。
1) 建立一個(gè)線程組,如下圖
為什么要建立線程組?原因很簡(jiǎn)單,因?yàn)槲覀円M多個(gè)線程(用戶)來訪問LinuxEye。
線程屬性部分中,線程數(shù)是啟動(dòng)多少個(gè)線程,我這里填寫的是10,Ramp-Up Period (in seconds)表示線程之間間隔多少時(shí)間允許,單位是秒,比如如果填寫10,那么10/10=1表示10個(gè)線程間每隔1秒鐘請(qǐng)求網(wǎng)站。
循環(huán)次數(shù):60個(gè)線程運(yùn)行完畢算是一次,循環(huán)次數(shù)是這樣的一個(gè)請(qǐng)求過程運(yùn)行多少次,我這里測(cè)試填寫的是2.
每次修改一個(gè)設(shè)置后,別忘記了保存一下。
2) 設(shè)置請(qǐng)求服務(wù)器、壓力鏈接等信息
接下來很自然的是,我們要測(cè)試的網(wǎng)站地址是什么?鏈接是什么?所以現(xiàn)在我們來設(shè)置這些信息。
右鍵點(diǎn)擊我們剛創(chuàng)建的線程組,在彈出的菜單中,選擇添加->Sampler->Http請(qǐng)求,彈出如下圖界面:
路徑:
假如你只是對(duì)一個(gè)鏈接進(jìn)行壓力測(cè)試,直接填寫一個(gè)鏈接ok,比如 http://www.linuxeye.com,但是大多數(shù)情況下都不是這樣的,我們這里需要多個(gè)鏈接,如同剛開始講到的那樣,我們要將多個(gè)鏈接保存到一個(gè)文本文件中,然后隨機(jī)讀取進(jìn)行壓力測(cè)試。我們可以這么做,如圖:
在選擇一個(gè)功能下拉列表中選擇_StringFromFile,然后在本機(jī)新建一個(gè)測(cè)試文件C:Users ootDesktopapache-jmeter-2.9 est.txt,在第一行(你也可以不在第一行)的值中填寫測(cè)試文件的路徑,如下圖:
然后點(diǎn)擊“生成”按鈕,在生成按鈕的左邊文本框中將生成一個(gè)字符串如:
${__StringFromFile(C:Users
ootDesktopapache-jmeter-2.9 est.txt,,,)}