使用Jmeter之前,需要安裝JDK喂窟,否者不能運(yùn)行
Jmeter下載:進(jìn)入官網(wǎng):http://jmeter.apache.org/
Jmeter環(huán)境變量的配置
1)進(jìn)入環(huán)境變量配置頁面
2)新建一個(gè)變量:JMETER_HOME盖呼,變量值為為解壓的Jmeter安裝路徑。
3)配置classpath變量,新家系統(tǒng)變量classpath里面添加變量值:%JMETER_HOME%\lib\ext\Apache_JMeter_core,jar;%JMETER_HOME%\lib\jorphan.jar;%JMETER_HOME%\lib\logkit-2.0.jar
4)基本配置完成后驗(yàn)證配置是否正確徘公,是否可用
進(jìn)入到解壓的jmeter文件末患,進(jìn)入bin目錄爷抓,雙擊打開jmeter.bat文件。如果彈出兩個(gè)界面就說明配置成功(一個(gè)命令界面阻塑,一個(gè)工作頁面)
Jmeter的使用方法
1)測(cè)試計(jì)劃->添加->線程(用戶)->線程組
2)設(shè)置并發(fā)數(shù)量
3)添加協(xié)議及相關(guān)配置信息
線程組->添加->取樣器->HTTP請(qǐng)求
4)配置相關(guān)協(xié)議的信息
5)為線程添加監(jiān)聽器(自己選擇)
6)啟動(dòng)測(cè)試,查看報(bào)告(點(diǎn)擊那個(gè)綠色的啟動(dòng)按鈕)
Label: 每個(gè)Jmeter的element的name值(http request的值)
Samples(樣本):樣本數(shù)量果复,多少個(gè)請(qǐng)求
Average(平均值):平均響應(yīng)時(shí)間陈莽,默認(rèn)是單個(gè)request的平均響應(yīng)時(shí)間。
Median(中位數(shù)):50%的用戶的響應(yīng)時(shí)間
90%%Line:90%用戶的響應(yīng)時(shí)間
95%Line:95%用戶的響應(yīng)時(shí)間
99%Line:99%用戶的響應(yīng)時(shí)間
Min(最小值):最小響應(yīng)時(shí)間
Max(最大值):最大響應(yīng)時(shí)間
Error%(異常%):本測(cè)試中出現(xiàn)錯(cuò)誤的請(qǐng)求數(shù)量/請(qǐng)求的總數(shù)
Throughout(吞吐量):默認(rèn)情況下表示每秒完成的請(qǐng)求數(shù)
KB/sec(接受kb):每秒從服務(wù)器端接受到的數(shù)據(jù)量
Jmeter通過分布式實(shí)現(xiàn)高并發(fā)
由于Jmeter創(chuàng)建一個(gè)用戶就需要一個(gè)單獨(dú)的線程虽抄,因此在一臺(tái)計(jì)算機(jī)上對(duì)成百上千萬的用戶基準(zhǔn)測(cè)試是不切實(shí)際的走搁,于是需要通過分布式的方式來進(jìn)行解決。即是一個(gè)電腦上的Jmeter作為controller控制其他電腦(agent)上的Jmeter運(yùn)行迈窟,以此來實(shí)現(xiàn)高并發(fā)私植,
1)在作為agent的計(jì)算機(jī)上安裝Jmeter,比如ip為192.168.0.2和192.168.0.1的兩臺(tái)計(jì)算機(jī)车酣。
2)在controller上的Jmeter的bin目錄找到Jmeter.properties文件并打開
3)找到”remote_hosts=127.0.0.1“(127.0.0.1即表示agent的機(jī)器)曲稼,改為”remote_hosts=192.168.0.1:1099,192.168.0.2:1099"(1099表示Jmeter的controller和Agent之間進(jìn)行通信的端口號(hào)。(只用修改作為controller上的文件即可)
4)依次啟動(dòng)controller上的jmeter_server.bat和Agent上的jmeter_server.bat
5)啟動(dòng)controller上的Jmeter.bat進(jìn)入運(yùn)行->遠(yuǎn)程啟動(dòng)->可以看到那兩個(gè)agent
6)需要那個(gè)電腦執(zhí)行就點(diǎn)那個(gè)
Jmeter添加Stepping Thread Group 插件來逐步負(fù)載
1)下載plugins-manager.jar湖员,下載地址:https://jmeter-plugins.org/downloads/all/
2)將下載后的jar包直接放進(jìn)Jmeter安裝目錄下的lib->ext目錄下贫悄,重啟Jmeter
3)打開Jmeter開始安裝jpgc-Standard Set
然后選擇Available Plugins 滑到最下面找到j(luò)pgc-Standard Set 勾選并應(yīng)用(我這里由于安裝好了,所以沒有這個(gè)選項(xiàng))
4)使用娘摔,測(cè)試計(jì)劃->添加->線程->Stepping Thread Group
5)參數(shù)介紹
This group will start 100 threads:設(shè)置單臺(tái)負(fù)載機(jī)窄坦,線程組啟動(dòng)的線程總數(shù)為100個(gè)
First,wait for 0 seconds:啟動(dòng)第一個(gè)線程之前,需要等待0秒
Then start 10 threads:設(shè)置最開始啟動(dòng)10個(gè)線程
Next凳寺,add 10 threads every 60 thread, using ramp-up 1 secoonds:每隔60秒在1秒內(nèi)啟動(dòng)10個(gè)線程
Then hold load for 300 seconds:單臺(tái)負(fù)載機(jī)啟動(dòng)的線程總數(shù)達(dá)到100個(gè)鸭津,持續(xù)運(yùn)行300秒
Finally,stop 10 thread every 1 seconds:最后每隔1秒肠缨,停止10個(gè)線程
6)遇到的問題
在創(chuàng)建線程后逆趋,每個(gè)線程會(huì)持續(xù)創(chuàng)建請(qǐng)求,因此在后面會(huì)出現(xiàn)端口不夠用的情況怜瞒,每次請(qǐng)求就會(huì)占用一個(gè)端口父泳,而請(qǐng)求完后tcp連接會(huì)保持TIME_WAIT狀態(tài),從而是得端口得不到釋放吴汪,測(cè)試一會(huì)后就會(huì)報(bào)錯(cuò)
希望有大神看到了幫忙解答惠窄。