jmeter性能測試快速入門

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

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

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

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

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

(1)名稱和注釋任意

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

(3)Rum-up(秒)幾秒執(zhí)行完用戶數(shù)

(4)循環(huán)次數(shù)這些用戶執(zhí)行多次

三、所有的請求都在線程組的基礎(chǔ)上進行,那么如何發(fā)起一個http請求呢?(在此之前同學(xué)們需要了解一個http請求包含哪些內(nèi)容,以及響應(yīng)包含哪些內(nèi)容)

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

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

(2)協(xié)議:http或https

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

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

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

(6)路徑:資源的位置

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

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

具體如圖

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

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

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

以上http請求數(shù)據(jù)已經(jīng)準(zhǔn)備好,可以發(fā)起這個請求了,但是我們要想看到請求的結(jié)果怎么辦呢?需要添加一個察看結(jié)果樹

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

選中線程組右鍵--添加--監(jiān)聽器---察看結(jié)果樹

準(zhǔn)備好以上數(shù)據(jù)后就可以進行調(diào)試了,在結(jié)果樹中查看我們請求的數(shù)據(jù)添加的是否正確和響應(yīng)結(jié)果是否正確

六、如何運行和結(jié)果顯示如圖

執(zhí)行失敗為紅色顯示,成功為綠色顯示

(1)取樣器結(jié)果:顯示的是Sample的請求和響應(yīng)的總體情況(包含如下內(nèi)容)

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

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

Load time(加載時間): 33

Connect Time(連接時間): 1

Latency(延遲): 33

Size in bytes(字節(jié)): 153

Sent bytes(發(fā)送字節(jié)數(shù)):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)響應(yīng)數(shù)據(jù):響應(yīng)體和響應(yīng)頭

在調(diào)試的過程中,如果我們發(fā)起的請求失敗,可以在此查看是請求數(shù)據(jù)有問題還是服務(wù)器本身的問題

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

(1)方法一:參數(shù)化

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

(1.2)使用變量(如圖)

(2)方法二:函數(shù)助手

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

(2.2)復(fù)制后,打開請求中需要使用變量的位置,在此處粘貼

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

可以運行一下查看結(jié)果

七、查看結(jié)果的常用方式

(1)聚合報告:把所有的請求數(shù)據(jù)和系統(tǒng)指標(biāo)結(jié)果匯總成表格查看

選中線程組右鍵---監(jiān)聽器--聚合報告

樣本數(shù)量:3

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

中位數(shù)(50%的響應(yīng)時間):12毫秒

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

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

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

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

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

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

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

接收/kB(每秒接收的字節(jié)數(shù)):0.65KB

發(fā)送/kB(每秒發(fā)送的字節(jié)數(shù)):1.4KB

(2)用表格查看結(jié)果:

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

可以查看單個請求的情況

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

選中線程組右鍵---監(jiān)聽器--圖形結(jié)果

以上給大家分享了幾種常用的查看結(jié)果的方式,在監(jiān)聽器下還有好多,有興趣的小伙伴可以進行嘗試使用,方法都是一樣的

八、還可以生成測試報告

(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:運行后的結(jié)果的文件名

-e:在腳本結(jié)束后生成html報告

-o:保存HTML報告的地址

注意:1.-l 后面跟的文件名是起的名字,該文件名不能為已經(jīng)存在的名字

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

(3)D:\work\test目錄下查看index.html 文件就是生成的 測試報告

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容