從零開始做一個Jmeter性能測試
安裝Jmeter
1、下載地址http://jmeter.apache.org/download_jmeter.cgi
2、解壓下載文件,然後將bin目錄添加到系統環境變量PATH裏。
3、確保已安裝java 8
4、點擊jmeter bin目錄下的ApacheJMeter.jar文件或者在打開本機終端或輸入jmeter啟動jmeter客戶端
Jmeter相關介紹
1、測試計劃(TestPlan),運行jmeter測試的一個基本單位
2、線程組(ThreadGroup),類似於loadrunner裏的groups
3、邏輯控制器(LogicController),用來定義JMeter發送請求的行為邏輯,它與Sampler結合使用可以模擬復雜的請求序列
4、 配置元件(ConfigElment),維護Sampler需要的配置信息
5、定時器(Timer),負責定義請求(線程)之間的延遲間隔,模擬對服務器的連續請求
6、前置處理器(Pre Processors),前置處理器常常用來修改請求的設置
7、後置處理器(Post Processors),後置處理器則常常用來處理響應的數據
8、取樣器(Sampler),模擬各種請求
9、斷言(Assertions),用於來判斷請求響應的結果是否如用戶所期望,是否正確。它可以用來隔離問題域,即在確保功能正確的前提下執行壓力測試。
10、監聽器(Listener),負責收集測試結果,同時也被告知了結果顯示的方式。功能是對取樣器的請求結果顯示、統計一些數據(吞吐量、KB/S……)等。
11、工作臺WorkBench,可以用來暫存,但是保存後會消失
Jmeter實例(餐飲系統批量上傳和批量下載為例)
1、添加一個線程組,這裏我們用默認參數
Number of Threads 設置並發數
Ramp-Up Period 設置什麽時候啟動完
Loop Count 設置叠代次數
2、添加兩個Sampler,批量上傳和批量下載
配置服務器IP,方法,路徑,請求參數
3、由於批量上傳的請求數據timemapStr會用到批量下載返回數據中的list,添加一個後置處理器–正則表達式處理器
引用名稱:設置正則返回的變量名
正則表達式:()的數據是需要返回的數據
模板:上面如果有多個括號,N>0,$N$代表提取第幾個括號裏的內容;N=0表示提取所有提取表達式的內容
匹配數組:0代表數據;-1代表所有;N代表第N個匹配到的
缺省值:假如沒有匹配到,設置的默認值
4、設置響應斷言
支持正則匹配和多個匹配模式
5、添加配置元件和定時器
隨機數:上傳請求參數裏的訂單id每次隨機生成
固定定時器:每個線程每次叠代時會延遲5000毫秒
CSV Data Set Config:設置終端名稱的取值
6、添加監聽器,並運行測試:
查看結果樹:可以取樣器的結果、請求參數、響應數據
聚合報告:主要展示接口名、叠代次數、響應時間參數,錯誤率,吞吐量,發送的數據量和接收到的數據量
圖形結果:顯示數據、平均值、中值、偏離、吞吐量
用表格查看結果:顯示開始時間,線程名字,接口名,取樣器響應時間,請求狀態,收到的Bytes,發送的Bytes,延遲,連接時間
概要報表:
與聚合報告報表展示類似
Response Time Graph:響應時間曲線圖
Aggregate Graph:聚合曲線圖
no GUI 方式運行(建議運行方式)
jmeter -n -t <test JMX file> -l <test log file> -e -o <Path to output folder>
<test log file> 指生成的原生jtl文件
會生成如下圖所示的文件
打開index.html,會看到一個html版的測試報告
從零開始做一個Jmeter性能測試