基于JMeter開展性能測試(插件、監(jiān)控、分布式壓測)!

全棧測開訓(xùn)練營,本周六正式上課:
重磅消息 | 2022年最新全棧測試開發(fā)技能實(shí)戰(zhàn)指南(第3期)

一、環(huán)境搭建
1、安裝java
安裝jdk1.8:默認(rèn)安裝,配置環(huán)境變量,新建系統(tǒng)變量JAVA_HOME 值:jdk的安裝路徑

在path變量中新增兩個(gè)值:;%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;
驗(yàn)證java安裝成功

2、安裝jmeter,解壓jmeter壓縮包到指定路徑

雙擊jemeter.bat打開jmeter

二、創(chuàng)建線程組執(zhí)行測試
修改語言為中文

2、添加一個(gè)線程組,后續(xù)我們要添加的請求都是要放在線程組下的。線程組,也是進(jìn)行性能測的基本組成單位。

3、為線程組添加請求

4、添加一個(gè)查看結(jié)果樹,用來觀察測試結(jié)果


5、添加一個(gè)聚合報(bào)告,聚合報(bào)告中,可以看到當(dāng)前線程組執(zhí)行的匯總情況

Label :當(dāng)前測試的各個(gè)請求
Average:當(dāng)前請求平均響應(yīng)時(shí)間
Median:當(dāng)前請求中位值,排在50%個(gè)請求的響應(yīng)時(shí)間
90%:當(dāng)前請求中位值,排在90%個(gè)請求的響應(yīng)時(shí)間
95%:當(dāng)前請求中位值,排在95%個(gè)請求的響應(yīng)時(shí)間
99% :當(dāng)前請求中位值,排在99%個(gè)請求的響應(yīng)時(shí)間
Min : 最小響應(yīng)時(shí)間
MAX:最大響應(yīng)時(shí)間
Error:錯(cuò)誤率
Throughput:tps,每秒事務(wù)處理數(shù)
Recive:接收到的字節(jié)
Sent:發(fā)送的字節(jié)
三、性能測試中需要重點(diǎn)關(guān)注的指標(biāo)
? 響應(yīng)時(shí)間
? 并發(fā)用戶數(shù)
? 吞吐量
? TPS(每秒事物處理數(shù))
? 資源利用率(cpu、內(nèi)存)
四、jmeter性能測試常用的插件
下載jmeter-plugins-manager-1.4.jar,然后將該文件放到..\apache-jmeter-5.0\lib\ext路徑下,然后重啟jmeter

重啟后,就可以使用第三方插件了


常用的插件如下:
Custom Thread Groups
該插件組可以提供額外模式的線程組,比如階梯增加的線程組,做負(fù)載測試和壓力測試是不錯(cuò)的選擇。
PerfMon
該插件可以監(jiān)聽服務(wù)器的硬件性能, 包括cpu、內(nèi)存、網(wǎng)絡(luò)情況等,但該插件需要配合服務(wù)器端的ServerAgent使用。
3 Basic Graphs
該插件組中的插件可以將測試數(shù)據(jù)生成對應(yīng)的圖形。
Active Threads Over Time

Response Times Over Time

Transactions per Second

Additonal Graphs

監(jiān)聽服務(wù)器的性能,首先添加PrefMon監(jiān)聽器



然后去服務(wù)器里打開監(jiān)聽用的軟件。



Concurrency Thread Group
利用該線程組可以實(shí)現(xiàn)階梯增壓。

登錄場景下的壓力測試


五、jmeter分布式環(huán)境搭建
調(diào)度機(jī)和slave機(jī)要在同一個(gè)局域網(wǎng)下。
在調(diào)度機(jī)和slave機(jī)上都要安裝相同版本的java和相同版本的jmeter 建議,直接將調(diào)度機(jī)上配置好的jmeter復(fù)制到slave機(jī)上
修改調(diào)度機(jī)的配置文件jmeter.properties(該文件在jmeter安裝目錄的bin目錄下)
remote_hosts=Slave機(jī)器IP:端口(多臺(tái)Slave機(jī)器則用英文逗號隔開)
server.rmi.ssl.disable=true
mode=Standard(開啟標(biāo)準(zhǔn)模式可查看日志)



配置slave機(jī)
配置slave機(jī),修改
jmeter.properties:server_port=端口
server.rmi.port=端口
server.rmi.ssl.disable=true
執(zhí)行測試
測試之前,要開啟所有的slave機(jī)
在jmeter路徑的bin目錄下,執(zhí)行下列命名
./jmeter-server -Djava.rmi.server.hostname=當(dāng)前slave機(jī)的IP地址



六、命令行執(zhí)行性能測試
命令:
jmeter -n -t 待測腳本.jmx -R slave機(jī)IP,slave2IP -l 測試結(jié)果.jtl
-n:使用命令行模式運(yùn)行
-t:指定要運(yùn)行的jmx腳本
-R:指定使用那些slave節(jié)點(diǎn)壓測
-l:保存測試結(jié)果數(shù)據(jù)到指定文件
七、職業(yè)生涯規(guī)劃之路

如想進(jìn)一步提升,推薦閱讀:
點(diǎn)擊下方卡片關(guān)注公眾號,我們一起
成為更好的自己

END

長按二維碼/微信掃碼 添加作者
