JMeter基于Java開發(fā),需要系統(tǒng)有安裝JDK環(huán)境。解壓后進入bin目錄,點擊jmeter.bat

1、添加線程組:
測試計劃 -> 添加 -> Threads(User) -> 線程組,添加后進入如下界面:

線程數(shù):表示將模擬多少個用戶進行測試。
Ramp-Up Period(in seconds):線程啟動間隔,所有線程將在這個時間內(nèi)依次啟動。
循環(huán)次數(shù):所有線程執(zhí)行一次為一次循環(huán)。
如果線程數(shù)為200 ,循環(huán)次數(shù)為10 ,那么每個線程發(fā)送10次請求??傉埱髷?shù)為200*10=2000 。如果勾選了“永遠”,那么所有線程會一直發(fā)送請求,直到選擇停止運行腳本。
2、添加采樣器:
采樣器可理解為針對前面創(chuàng)建的線程需要做什么事情,這里以添加HTTP請求為例。
1)線程組 -> 添加 -> Sampler -> HTTP請求,添加后進入如下界面:

上圖為壓測http的get類型接口,url中{page}是動態(tài)參數(shù),需要從文件中獲取
服務器名或ip:填寫服務器ip地址(例如:192.168.1.23)
路徑:填寫url接口剩余部分;
協(xié)議:向目標服務器發(fā)送http請求時的協(xié)議,可以是http或者是https,默認值為http
方法:發(fā)送http請求的方法,可用方法包括get、post、head、put、options、trace、delete等。
Content encoding:內(nèi)容編碼方式
路徑:目標url路徑(不包括服務器地址和端口)
自動重定向:如果選中該選項,當發(fā)送http請求后得到的響應是302/301時,jmeter自動重定向到新的頁面。
Use keep Alive:當該選項被選中時,jmeter和目標服務器之間使用keep-Alive方式進行http通信,默認選中
Use multipart/from-data for http post:當發(fā)送http post請求時,使用Use multipart/from-data方法發(fā)送,默認不選中。
同請求一起發(fā)送參數(shù):在請求中發(fā)送URL參數(shù),對于帶參數(shù)的URL、jmeter提供了一個簡單的對參數(shù)化的方法。用戶可以將url中所有參數(shù)設置在本表中,表中的每一行是一個參數(shù)值對(對應URL中的名稱 名稱1=值1 )
同請求一起發(fā)送文件:在請求中發(fā)送文件,通常,http文件上傳行為可以通過這種方式模擬。
2)添加CSV Data Set Config 來參數(shù)化
在d盤簡歷如下data.txt文件,在variable Names中輸入newId,page后,在http請求中就可以通過${newId}獲取到
1,1
11,1
111,1

3)如果是post接口,則把post數(shù)據(jù)寫到parameters下面

3、添加監(jiān)視器
監(jiān)視器可以理解為針對結果的不同查看方式。JMeter里提供了多種結果表現(xiàn)形式??赏ㄟ^ HTTP請求 -> 添加 -> 監(jiān)視器 -> 察看結果樹、聚合報告等等。

聚合報告各指標:
Label:每個 JMeter 的 element(例如 HTTP Request)都有一個 Name 屬性,這里顯示的就是 Name 屬性的值
#Samples:表示你這次測試中一共發(fā)出了多少個請求,如果模擬10個用戶,每個用戶迭代10次,那么這里顯示100
Average:平均響應時間——默認情況下是單個 Request 的平均響應時間,單位為毫秒。當使用了 Transaction Controller 時,也可以以Transaction 為單位顯示平均響應時間
Median:中位數(shù),也就是 50% 用戶的響應時間
90% Line:90% 用戶的響應時間
Min:最小響應時間
Max:最大響應時間
Error%:本次測試中出現(xiàn)錯誤的請求的數(shù)量/請求的總數(shù)
Throughput:吞吐量——默認情況下表示每秒完成的請求數(shù)(Request per Second),當使用了 Transaction Controller 時,也可以表示類似 LoadRunner 的 Transaction per Second 數(shù)
KB/Sec:每秒從服務器端接收到的數(shù)據(jù)量,相當于LoadRunner中的Throughput/Sec
順便在此給大家推薦一個Java方面的交流學習群:4112676,里面會分享一些高級面試題,還有資深架構師錄制的視頻錄像:有Spring,MyBatis,Netty源碼分析,高并發(fā)、高性能、分布式、微服務架構的原理,JVM性能優(yōu)化這些成為架構師必備的知識體系,主要針對Java開發(fā)人員提升自己,突破瓶頸,相信你來學習,會有提升和收獲。在這個群里會有你需要的內(nèi)容 朋友們請抓緊時間加入進來吧
