JMeter性能(壓力)測試--使用解鎖


1. 首先去官網下載JMeter:  http://jmeter.apache.org/download_jmeter.cgi

2. 解壓縮后到目錄 \apache-jmeter-5.0\bin 下找到 jmeter.bat 點擊執行,出現以下界面:

3. 然后新建需要測試的http請求,以 ”http://www.baidu.com/s?ie=utf-8&wd=jmeter性能測試“ 為例:

Test Plan -> Add -> Threads(Users) -> Thread Group

Name: 線程組名稱

Number of Threads(users) : 虛擬用戶數。一個虛擬用戶占用一個線程或進程,設置多少虛擬用戶在這里就是設置多少個線程數。

Ramp-Up Period(in seconds):准備時長,設置的虛擬用戶數需要多長時間全部啟動,如果線程數為10,准備時長為2,那么需要2秒鍾啟動10個線程,即每秒鍾啟動5個線程。

Loop Count: 循環次數,每個線程發送請求的次數,如果線程數為10,循環次數為100,那么每個線程發生100次請求。總請求數為10 * 100 = 1000,如果勾選了 Forever,那么所有線程會一直發送請求,直到選擇停止運行腳本。

Delay Thread creation until needed:知道需要時延遲線程的創建。

Scheduler:調度器,設置線程組啟動的開始時間和結束時間(配置調度器時,需要勾選循環次數為永遠)。

4. 添加需要測試的請求: Thread Group -> Add -> Sampler -> HTTP Request

填寫參數內容如下:

ie: 編碼方式,默認為utf-8

wd: 搜索詞,為jmeter性能測試

 5. 添加查看結果樹: 右鍵點擊Thread Group -> Add -> Lisenter -> View Results Tree

修改響應數據格式為:HTML  Source Formatted,Response Data中可以看到本次請求返回的數據:

6. 添加用戶自定義變量,右鍵 -> Thread Group -> Add -> Config Element -> User Defined Variables

將wd(搜索詞)設置為自定義變量:

並可在http請求中使用該參數,格式為:${wd},之前為:jmeter性能測試

7. 添加斷言

右鍵點擊 HTTP Request ->  Assertions -> Response Assertion

主要選中: Main sample only, Document [text], Contains,  在Patterns to Test中添加用戶自定義變量,因為查到的結果中一定會包含搜索詞,否則判斷為請求失敗。

8. 添加斷言結果

右鍵點擊 HTTP Request -> Add -> Lisenter -> Assertion Results

 如果請求成功,則會直接顯示HTTP Request, 否則會顯示Response Assertion: Test failed: document expected to contain /斷言中寫的匹配內容/ (我故意改成了${wd} 111, 所以會斷言失敗)

9. 添加聚合報告

右鍵點擊 Thread Group -> Add -> Lisenter -> Aggregate Report

執行請求后(可以先修改性能測試相關參數配置:線程數、循環次數、持續時間等,目前我這里還是單線程作業),聚合報告就會顯示如下:

聚合報告參數詳解:

Lable:每個JMeter 都有一個Name屬性,這里顯示的就是Name屬性的值。

#Samples: 請求數,表示這次測試中一共發出了多少請求,如果模擬10個用戶,每個用戶迭代10次,那么這里顯示100。

Average: 平均響應時間,默認情況下是單個 Request 的平均響應時間,當使用了Transaction Controller 時,以Transaction為單位顯示平均響應時間。

Median: 中位數,即50%用戶的響應時間。

90% Line: 90%用戶的響應時間。

Min: 最小響應時間。

Max: 最大響應時間。

Error%:錯誤率--錯誤請求數/請求總數

Throughput:吞吐量--默認情況下表示每秒完成的請求數。

KB/Sec: 每秒從服務器端接收到的數據量,相當於Load Runner中的Throughput/Sec。

一般來說,性能測試中我們需要重點關注的數據有:#Samples請求數、Average平均響應時間,Min最小響應時間,Max最大響應時間,Error% 錯誤率及Throughput吞吐量。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM