您好,登錄后才能下訂單哦!
本篇內(nèi)容主要講解“Jmeter壓力測試方法是什么”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實(shí)用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“Jmeter壓力測試方法是什么”吧!
我用的版本是3.1版本,為什么是3.1,因?yàn)?.2有問題,我也是跑了一段時(shí)間后才知道3.2版本太新了還是什么的,有些功能就是不行,在此建議大家,不要輕易使用最新版本,次新版本就可以了。安裝好了之后Jmeter的bin目錄下有個(gè)Jmeter.bat文件,雙擊就能運(yùn)行了。
運(yùn)行軟件之后,我們當(dāng)然要找個(gè)鏈接測試一下啦,這里我們以百度為例,我們右擊“測試計(jì)劃”——“添加”——“Threads(Users)——線程組”,這樣就建了一個(gè)線程組了,這是干嘛,當(dāng)然是跑線程用的啊。有了線程組之后,我們再右擊線程組,“添加”——“配置元件”——“http請求默認(rèn)值”,這個(gè)默認(rèn)值是干嘛的?里面可以設(shè)置一些常用的默認(rèn)的設(shè)置(這不是廢話嘛~),在http請求默認(rèn)值面板里面,我們可以輸入要測試的服務(wù)器的IP或者域名,這里我們輸入“www.baidu.com”,協(xié)議是“https”,你要測試的網(wǎng)址如果是http開頭那就填“http”,其他默認(rèn)不管了,這時(shí)候點(diǎn)擊左上角保存會(huì)彈出一個(gè)保存框,這是讓你保存你現(xiàn)在所做的測試配置,以后需要再測試的話的直接打開保存的jmx文件就行了。保存完了之后,我們再右擊“線程組”——“添加”——“Sampler”——“http請求”,哎,剛剛不是添加過了嗎?剛剛那個(gè)不是哦,剛剛那個(gè)只是默認(rèn)值,只是用來設(shè)置一些默認(rèn)配置,真正發(fā)起請求的是“http請求”,在http請求里面我們在“路徑”里面輸入斜杠“/”就行啦,表示默認(rèn)路徑,IP那一欄就不用輸入了,為什么呢?因?yàn)樵趆ttp請求默認(rèn)值里面已經(jīng)輸過啦,以后可以新建多個(gè)http請求,只要修改路徑就行了,這樣就可以訪問同一個(gè)網(wǎng)站的不同頁面,這就是“http請求默認(rèn)值”的意義所在,把一些共用的設(shè)置寫一遍就好了。接著,我們再右擊“線程組”——“添加”——“監(jiān)聽器”——“察看結(jié)果數(shù)”,在這里可以查看到http請求和結(jié)果。每次新建組件和修改配置信息都要點(diǎn)擊保存,好了,頁面配置圖如下所示:
現(xiàn)在我們點(diǎn)擊工具欄的綠色運(yùn)行按鈕,就可以在“察看結(jié)果樹”中看到結(jié)果了
我們新建的“http請求”返回結(jié)果200,表明請求成功,從綠色打鉤也能看出,上圖中的下拉列表框可以選擇顯示格式,我們選擇HTML,切換到“響應(yīng)數(shù)據(jù)”就可以看到返回頁面,也就是百度首頁。
剛剛我們完成了一個(gè)簡單的測試,你也應(yīng)該感覺到自己啥也沒干,就能測試了,其實(shí)不然,我們點(diǎn)擊“線程組”可以看到線程組的設(shè)置頁面,默認(rèn)設(shè)置1個(gè)線程,1秒啟動(dòng),循環(huán)1次。線程數(shù)表示啟動(dòng)多少個(gè)線程,Ramp-Up Period表示花多長時(shí)間啟動(dòng)所有線程,循環(huán)次數(shù)表示每個(gè)線程的執(zhí)行次數(shù),例如,我設(shè)置線程數(shù)10,Ramp-Up Period為10,循環(huán)次數(shù)2,表示軟件將在10秒內(nèi)啟動(dòng)10個(gè)線程,也就是1秒啟動(dòng)1個(gè)線程,每個(gè)線程執(zhí)行兩次請求。
此外,我們還可以勾選“調(diào)度器”,比如我填入持續(xù)時(shí)間100,啟動(dòng)延遲0,將循環(huán)次數(shù)勾選“永遠(yuǎn)”,表示線程立即啟動(dòng),執(zhí)行100秒后停止,注意,如果設(shè)置了持續(xù)時(shí)間和啟動(dòng)延遲,那么下面的啟動(dòng)時(shí)間和結(jié)束時(shí)間就不起作用了,也就不用管了,點(diǎn)擊運(yùn)行即可。
之前我們僅僅設(shè)置了“察看結(jié)果樹”這個(gè)監(jiān)聽器,我們右擊“線程組”——“添加”——“監(jiān)聽器”,里面有好多監(jiān)聽器可供選擇,比如圖形結(jié)果,用表格查看結(jié)果,聚合報(bào)告等等,這些都是反映測試過程的指標(biāo)數(shù)據(jù)。圖形結(jié)果以圖形的形式顯示吞吐量、偏移、平均值等信息,表格結(jié)果顯示每一次請求的時(shí)間,返回,發(fā)送字節(jié)數(shù),連接時(shí)間等等,聚合報(bào)告里面顯示總體請求的吞吐量,錯(cuò)誤率等等。下圖為表格結(jié)果的樣式。
可以看出,圖中顯示了20個(gè)Http請求,分別由10個(gè)線程執(zhí)行,每個(gè)線程執(zhí)行兩次,正好符合我們對于線程組的設(shè)置。圖中每一列的含義分別表示請求序號,開始時(shí)間,線程序號,請求名,請求所花的時(shí)間,請求狀態(tài),請求字節(jié)數(shù),發(fā)送字節(jié)數(shù),等待時(shí)長,連接時(shí)間。
聚合報(bào)告如下圖所示,每一列的含義分別表示請求名稱,請求總數(shù),請求的平均響應(yīng)時(shí)間(毫秒),50%的請求的響應(yīng)時(shí)間,90%的請求的響應(yīng)時(shí)間,95%的請求的響應(yīng)時(shí)間,99%的請求的響應(yīng)時(shí)間,最小的響應(yīng)時(shí)間,最大的響應(yīng)時(shí)間,錯(cuò)誤的請求率(錯(cuò)誤請求數(shù)/總的請求數(shù)),吞吐量(每秒處理的請求數(shù)),接收的字節(jié)速率,發(fā)送的字節(jié)速率。
前面我們測試的頁面是不需要登錄的,現(xiàn)在我們來測試一下登錄操作,由于登錄操作涉及到具體的內(nèi)部網(wǎng)址和參數(shù),我這里就用一般網(wǎng)址和參數(shù)代替,但是方法是一樣的,例如,我們內(nèi)網(wǎng)IP是1.1.1.1,登錄頁面是1.1.1.1/login.do,我們將1.1.1.1填入“http請求默認(rèn)值”,將/login.do填入“http請求”的路徑里面,關(guān)于登錄需要的參數(shù)我要特別說明一下,一般來說就是用戶名和密碼,但是往往還需要其他參數(shù),我們可以通過抓包工具Fiddler進(jìn)行抓包,我們在網(wǎng)站中進(jìn)行一次正常登錄,可以在Fiddler中看到登錄需要的post參數(shù),例如Fiddler中顯示登錄操作post參數(shù)有username,password,type,那么需要在“http請求”里面填入,下圖所示。
點(diǎn)擊“添加”按鈕就可以添加參數(shù)了,保存好后,我們點(diǎn)擊運(yùn)行,就可以在察看結(jié)果樹中看到登錄成功后的頁面了,具體的操作和前面一樣的。
我們進(jìn)入登錄后的頁面后,我還想訪問例如“我的賬戶”,“我的信息”等模塊怎么辦,這些網(wǎng)頁需要登錄成功后才能訪問到,這里我們就需要進(jìn)行會(huì)話的保持,我們右擊“線程組”——“添加”——“配置元件”——“httpcookie管理器”,要添加的內(nèi)容我們可以在察看結(jié)果樹的“請求”選項(xiàng)卡里面看到,里面可以看到登錄需要的cookie,例如JSESSIONID,我們將JSESSIONID填入cookie管理器的參數(shù)里面,如下
此時(shí),我們在http請求里面輸入登錄后的頁面網(wǎng)址,例如“我的信息”等等,就可以請求成功啦。
我們在“http請求”的路徑里面填入的是我們要訪問的網(wǎng)頁,每次只能填一個(gè),假如我想訪問好幾個(gè)網(wǎng)頁,例如首頁,通知頁,公司介紹頁等等,除了新建http請求外,我們還可以將這些網(wǎng)頁的地址存儲(chǔ)在TXT文件里,例如,我要訪問1.1.1.1/index.do,1.1.1.1/information.do,1.1.1.1/company.do,我們可以這樣
網(wǎng)址填入后,我們在Jmeter里面的“選項(xiàng)”——“函數(shù)助手對話框”——“StringFromFile”,將TXT的完整路徑貼到圖中位置,點(diǎn)擊生成,可以在框里生成TXT文件的讀取路徑。
我們將$開頭的那串路徑貼到“http請求”的路徑里面,就可以訪問到TXT里面的所有網(wǎng)頁啦,如圖所示。
上面我們介紹了幾個(gè)Jmeter自帶的監(jiān)聽器,不知你是否感覺到有一點(diǎn)點(diǎn)無力,因?yàn)槔锩骘@示的指標(biāo)好像都不是你特別需要的,至少對于我來說,我更關(guān)心我的請求執(zhí)行過程中服務(wù)器狀態(tài)的改變,例如CPU,內(nèi)存,磁盤,網(wǎng)絡(luò),TPS,響應(yīng)時(shí)間圖等等,因?yàn)檫@才是壓力測試的目的所在,服務(wù)器狀態(tài)隨著請求增加的變化曲線才是我們更加需要看到的。想看到服務(wù)器變化的曲線圖,我們需要下載JMeterPlugins-Extras.jar和JMeterPlugins-Standard.jar,將這兩個(gè)jar包放入Jmeter的安裝路徑下的lib/ext/下面,重啟Jmeter后,右擊“線程組”——“添加”——“監(jiān)聽器”,我們可以看到多了好多監(jiān)聽器,大多數(shù)以“jp@gc”開頭的監(jiān)聽器,我們選擇“PerfMon Metrics Collector”,里面將會(huì)顯示服務(wù)器的狀態(tài)信息,現(xiàn)在還看不到,為什么,因?yàn)橐獪y試的服務(wù)器需要安裝一個(gè)包,叫ServerAgent.zip,比如我的服務(wù)器是linux,我們將ServerAgent在服務(wù)器中解壓,運(yùn)行里面的startAgent.sh就可以啦,啟動(dòng)起來后可以看到如下
默認(rèn)端口是4444,在這里我要插一句,我當(dāng)時(shí)運(yùn)行后通過Telnet始終ping不到4444端口導(dǎo)致顯示不了,后來改成4445端口啟動(dòng)就可以了,具體的服務(wù)器命令是ServerAgent-2.2.3/startAgent.sh--udp-port 4445 --tcp-port 4445,這樣就表示將serverAgent在4445端口啟動(dòng),你可以將4445換成其他端口,如果默認(rèn)的4444端口不行的小伙伴可以試試其他端口哦。好了,我們回到Jmeter軟件,按下圖填入服務(wù)器的地址和端口號,以及需要監(jiān)控的硬件,如CPU,內(nèi)存,磁盤,網(wǎng)絡(luò)等等。
好了,我們點(diǎn)擊運(yùn)行,可以在chart下看到服務(wù)器的狀態(tài)變化曲線啦
到此,相信大家對“Jmeter壓力測試方法是什么”有了更深的了解,不妨來實(shí)際操作一番吧!這里是億速云網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。