1. 程式人生 > >從零開始做一個Jmeter性能測試

從零開始做一個Jmeter性能測試

conf ber img group 測試報告 響應 介紹 oop 系統環境

安裝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性能測試