使用Jmeter之前,需要安裝JDK,否者不能運行
Jmeter下載:進(jìn)入官網(wǎng):http://jmeter.apache.org/

Jmeter環(huán)境變量的配置
1)進(jìn)入環(huán)境變量配置頁面

2)新建一個變量: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)基本配置完成后驗證配置是否正確,是否可用
進(jìn)入到解壓的jmeter文件,進(jìn)入bin目錄,雙擊打開jmeter.bat文件。如果彈出兩個界面就說明配置成功(一個命令界面,一個工作頁面)

Jmeter的使用方法
1)測試計劃->添加->線程(用戶)->線程組

2)設(shè)置并發(fā)數(shù)量

3)添加協(xié)議及相關(guān)配置信息
線程組->添加->取樣器->HTTP請求

4)配置相關(guān)協(xié)議的信息

5)為線程添加監(jiān)聽器(自己選擇)

6)啟動測試,查看報告(點擊那個綠色的啟動按鈕)


Label: 每個Jmeter的element的name值(http request的值)
Samples(樣本):樣本數(shù)量,多少個請求
Average(平均值):平均響應(yīng)時間,默認(rèn)是單個request的平均響應(yīng)時間。
Median(中位數(shù)):50%的用戶的響應(yīng)時間
90%%Line:90%用戶的響應(yīng)時間
95%Line:95%用戶的響應(yīng)時間
99%Line:99%用戶的響應(yīng)時間
Min(最小值):最小響應(yīng)時間
Max(最大值):最大響應(yīng)時間
Error%(異常%):本測試中出現(xiàn)錯誤的請求數(shù)量/請求的總數(shù)
Throughout(吞吐量):默認(rèn)情況下表示每秒完成的請求數(shù)
KB/sec(接受kb):每秒從服務(wù)器端接受到的數(shù)據(jù)量

Jmeter通過分布式實現(xiàn)高并發(fā)
由于Jmeter創(chuàng)建一個用戶就需要一個單獨的線程,因此在一臺計算機(jī)上對成百上千萬的用戶基準(zhǔn)測試是不切實際的,于是需要通過分布式的方式來進(jìn)行解決。即是一個電腦上的Jmeter作為controller控制其他電腦(agent)上的Jmeter運行,以此來實現(xiàn)高并發(fā),
1)在作為agent的計算機(jī)上安裝Jmeter,比如ip為192.168.0.2和192.168.0.1的兩臺計算機(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)行通信的端口號。(只用修改作為controller上的文件即可)

4)依次啟動controller上的jmeter_server.bat和Agent上的jmeter_server.bat
5)啟動controller上的Jmeter.bat進(jìn)入運行->遠(yuǎn)程啟動->可以看到那兩個agent

6)需要那個電腦執(zhí)行就點那個
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)用(我這里由于安裝好了,所以沒有這個選項)

4)使用,測試計劃->添加->線程->Stepping Thread Group

5)參數(shù)介紹

This group will start 100 threads:設(shè)置單臺負(fù)載機(jī),線程組啟動的線程總數(shù)為100個
First,wait for 0 seconds:啟動第一個線程之前,需要等待0秒
Then start 10 threads:設(shè)置最開始啟動10個線程
Next,add 10 threads every 60 thread, using ramp-up 1 secoonds:每隔60秒在1秒內(nèi)啟動10個線程
Then hold load for 300 seconds:單臺負(fù)載機(jī)啟動的線程總數(shù)達(dá)到100個,持續(xù)運行300秒
Finally,stop 10 thread every 1 seconds:最后每隔1秒,停止10個線程
6)遇到的問題
在創(chuàng)建線程后,每個線程會持續(xù)創(chuàng)建請求,因此在后面會出現(xiàn)端口不夠用的情況,每次請求就會占用一個端口,而請求完后tcp連接會保持TIME_WAIT狀態(tài),從而是得端口得不到釋放,測試一會后就會報錯

希望有大神看到了幫忙解答。