掌握這節JMeter性能測試:併發測試、壓力測試,年薪30萬槓槓滴

前言

在用工具之前,首先我們來簡單瞭解一下什麼是性能測試?

性能測試是系統在一定的負載和壓力的情況下,系統的響應時間,吞吐量,穩定性,課擴展性等性能指標。也就是我們要驗證系統是否在這些指標範圍,或者說驗證這些指標是否符合用戶或客戶的需求。性能指標包含系統指標和資源指標,今天我們就以用戶角度去看一下如何驗證系統指標?(系統指標:與用戶場景和需求相關的指標,關鍵的一些指標包含:響應時間,吞吐量,併發用戶數等)

以下是按照中文版的jmeter進行編寫的,jmeter的bin目下打開這個文件jmeter.properties,查找language,把這個屬性前面的#去掉並修改值為:zh_CN,修改後的顯示 language=zh_CN

一、打開bin目錄,點擊jmeter.bat 或cmd 輸入 jmeter啟動jmeter工具

二、選中測試計劃右鍵new(添加)---》線程(用戶)----》線程組,進行線程組的添加(在線用戶數)

(1)名稱和註釋任意

(2)線程數(用戶數),根據需求實際情況去添加

(3)Rum-up(秒)幾秒執行完用戶數

(4)循環次數這些用戶執行多次

三、所有的請求都在線程組的基礎上進行,那麼如何發起一個http請求呢?

選中線程組右鍵---》取樣器---》http請求

(1)名稱和註釋最好與此次請求相關,有意義

(2)協議:http或https

(3)服務器名稱或ip:(域名或ip地址)

(4)端口號:http是80,https 443 ,mysql 3306

(5)請求方法(根據請求行中的方法進行填寫):post

(6)路徑:資源的位置

(7)內容編碼:UTF8(如果請求中不包含中文可不寫)

(8)post請求是有請求體的,所以要填寫參數:

具體如圖


掌握這節JMeter性能測試:併發測試、壓力測試,年薪30萬槓槓滴

四、一個http還除了上述http請求中的請求行和請求體,還包含請求頭,如何添加請求頭呢?(有的請求頭不是必填的,此部分可以省略)

如果請求頭是對所有的http請求有效,那麼選中線程組進行添加,請求頭僅對本請求有效,那麼選中http請求進行添加

選中線程組右鍵--添加--配置元件--http信息頭管理器(把需要的數據如圖填寫進來就可以)


掌握這節JMeter性能測試:併發測試、壓力測試,年薪30萬槓槓滴

以上http請求數據已經準備好,可以發起這個請求了,但是我們要想看到請求的結果怎麼辦呢?需要添加一個察看結果樹

五、如何添加察看結果樹呢?可以選中線程組或選中請求添加,作用域不一樣,選中線程組對應的作用域為這個線程組下的所有請求,而請求下的呢,僅作用域本請求,一般情況下選擇線程組即可

選中線程組右鍵--添加--監聽器---察看結果樹

準備好以上數據後就可以進行調試了,在結果樹中查看我們請求的數據添加的是否正確和響應結果是否正確

六、如何運行和結果顯示如圖


掌握這節JMeter性能測試:併發測試、壓力測試,年薪30萬槓槓滴

執行失敗為紅色顯示,服務器響應成功為綠色顯示(在沒有設置任何斷言的情況下)


掌握這節JMeter性能測試:併發測試、壓力測試,年薪30萬槓槓滴

(1)取樣器結果:顯示的是Sample的請求和響應的總體情況(包含如下內容)

Thread Name(線程名稱): 登錄 1-3

Sample Start(開始時間): 2020-03-19 16:37:03 CST

Load time(加載時間): 33

Connect Time(連接時間): 1

Latency(延遲): 33

Size in bytes(字節): 153

Sent bytes(發送字節數):327

Headers size in bytes: 128

Body size in bytes: 25

Sample Count: 1

Error Count: 0

Data type ("text"|"bin"|""): text

Response code: 200

Response message:

HTTPSampleResult fields:

ContentType: application/json;charset=UTF-8

DataEncoding: UTF-8

(2)請求:請求體和請求頭

(3)響應數據:響應體和響應頭


掌握這節JMeter性能測試:併發測試、壓力測試,年薪30萬槓槓滴

在調試的過程中,如果我們發起的請求失敗,可以在此查看是請求數據有問題還是服務器本身的問題

六、性能測試不能針對一個用戶進行反覆的登錄吧,不符合常理和邏輯,那如何實現多個用戶進行登錄呢?

(1)方法一:參數化

(1.1)csv參數化:選中線程組--右鍵添加--配置元件--csv數據文件設置(如圖)


掌握這節JMeter性能測試:併發測試、壓力測試,年薪30萬槓槓滴

(1.2)使用變量(如圖)


掌握這節JMeter性能測試:併發測試、壓力測試,年薪30萬槓槓滴

(2)方法二:函數助手

(2.1)Tools ---函數助手對話框或工具欄中的書


掌握這節JMeter性能測試:併發測試、壓力測試,年薪30萬槓槓滴

(2.2)複製後,在此處粘貼


掌握這節JMeter性能測試:併發測試、壓力測試,年薪30萬槓槓滴

用以上兩種方法之一就可以進行多用戶的註冊或登錄了

可以運行一下查看結果

七、查看結果的常用方式

(1)聚合報告:把所有的請求數據和系統指標結果彙總成表格查看

選中線程組右鍵---監聽器--聚合報告


掌握這節JMeter性能測試:併發測試、壓力測試,年薪30萬槓槓滴

樣本數量:3

平均值(平均的響應時間):12毫秒

中位數(50%的響應時間):12毫秒

90%百分位(90%的響應時間):15毫秒

95%百分位(95%的響應時間):15毫秒

99%百分位(99%的響應時間):15毫秒

最小值(用時最少的):10毫秒

最大值(用時最多的響應時間):15毫秒

異常(本次請求中有沒有請求失敗或者響應失敗的數據有多少個):0

吞吐量(每秒中處理事務的個數):4.4個

接收/kB(每秒接收的字節數):0.65KB

發送/kB(每秒發送的字節數):1.4KB

(2)用表格查看結果:

選中線程組右鍵---監聽器--用表格查看結果(如圖)

可以查看單個請求的情況


掌握這節JMeter性能測試:併發測試、壓力測試,年薪30萬槓槓滴

(3)還可以彙總成圖表的

選中線程組右鍵---監聽器--圖形結果

八、還可以生成測試報告

(1)win+R 輸入cmd進入dos命令行模式下

(2)輸入:jmeter -n -t D:\\work\\login.jmx -l result.jtl -e -o D:\\work\\test ,點擊回車

-n:以非GUI形式運行

-t:指定腳本的路徑

-l:運行後的結果的文件名

-e:在腳本結束後生成html報告

-o:保存HTML報告的地址

注意:1.-l 後面跟的文件名是起的名字,該文件名不能為已經存在的名字

2. -o 後面跟的文件夾的路徑,最後指定的文件夾不能有數據,可以自己新起一個任意不存在的文件夾名

(3)D:\\work\\test 的目錄下的index.html可以查看測試報告


分享到:


相關文章: