溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

分布式壓測(cè)系列之Jmeter4.0第一季

發(fā)布時(shí)間:2020-07-23 17:03:37 來(lái)源:網(wǎng)絡(luò) 閱讀:16444 作者:小D課堂 欄目:軟件技術(shù)

1)Jmeter4.0介紹

jmeter是個(gè)純java編寫的開源壓測(cè)工具,apache旗下的開源軟件,一開始是設(shè)計(jì)為web測(cè)試的軟件,由于發(fā)展迅猛,現(xiàn)在可以壓測(cè)許多協(xié)議比如:http、https、soap、ftp、database數(shù)據(jù)庫(kù)、LDAP  輕量目錄訪問(wèn)協(xié)議、TCP、SOMP(簡(jiǎn)單郵件協(xié)議)等,由于是純java編寫,可以在蘋果、window或者Linux下運(yùn)行,全功能的測(cè)試IDE,允許快速的建立測(cè)試計(jì)劃(從瀏覽器或本地應(yīng)用程序,官網(wǎng)地址:http://jmeter.apache.org),Jmeter是一個(gè)中高級(jí)開發(fā)或者測(cè)試人員都必須掌握的一個(gè)工具。

目前用的常用測(cè)試工具對(duì)比:

1、loadrunner:性能穩(wěn)定,壓測(cè)結(jié)果及細(xì)粒度大,可以自定義腳本進(jìn)行壓測(cè),但是太過(guò)于重大,功能比較繁多
2、apache ab(單接口壓測(cè)最方便):模擬多線程并發(fā)請(qǐng)求,ab命令對(duì)發(fā)出負(fù)載的計(jì)算機(jī)要求很低,既不會(huì)占用很多CPU,也不會(huì)占用太多的內(nèi)存,但卻會(huì)給目標(biāo)服務(wù)器造成巨大的負(fù)載, 簡(jiǎn)單DDOS***等
3、webbench:webbench首先f(wàn)ork出多個(gè)子進(jìn)程,每個(gè)子進(jìn)程都循環(huán)做web訪問(wèn)測(cè)試。子進(jìn)程把訪問(wèn)的結(jié)果通過(guò)pipe告訴父進(jìn)程,父進(jìn)程做最終的統(tǒng)計(jì)結(jié)果。

分布式壓測(cè)系列之Jmeter4.0第一季

2)特點(diǎn)

  • 提供GUI圖形界面和非GUI界面進(jìn)行壓測(cè),在windows下面進(jìn)行開發(fā)測(cè)試壓測(cè)腳本,然后直接在linux上執(zhí)行

  • 可以提供完整的動(dòng)態(tài)HTML壓測(cè)報(bào)告

  • 純java編寫,一次編寫,四處壓測(cè)

  • 多線程框架允許通過(guò)多個(gè)線程同時(shí)進(jìn)行采樣壓測(cè),并通過(guò)單獨(dú)的線程組同時(shí)采樣不同的功能

  • 提供高度可擴(kuò)展的功能,自定義插件:

  • 提供函數(shù)可用于為測(cè)試提供動(dòng)態(tài)輸入或提供數(shù)據(jù)操作。

  • 通過(guò)Maven,Graddle和Jenkins的第三方開源庫(kù)輕松持續(xù)集成

3)準(zhǔn)備工作

需要安裝java運(yùn)行環(huán)境,建議安裝JDK環(huán)境,雖然JRE也可以,但是壓測(cè)https需要JDK里面的 keytool工具;
新版本Jmeter4.0,需要JDK8以上版本,JDK9或者JDK10都可以;并配置好JDK環(huán)境(這里就不講配置JDK環(huán)境了)
下載對(duì)應(yīng)的Jmeter4.0版本并解壓(官網(wǎng)地址:http://jmeter.apache.org/)
windows系統(tǒng): http://mirrors.tuna.tsinghua.edu.cn/apache//jmeter/binaries/apache-jmeter-4.0.zip
Mac或者Linux:http://mirrors.tuna.tsinghua.edu.cn/apache//jmeter/binaries/apache-jmeter-4.0.tgz

4)jmeter4.0解壓目錄文件講解

分布式壓測(cè)系列之Jmeter4.0第一季

bin:核心可執(zhí)行文件,包含配置	
      jmeter.bat: windows啟動(dòng)文件:	
      jmeter: mac或者linux啟動(dòng)文件:	
      jmeter-server:mac或者Liunx分布式壓測(cè)使用的啟動(dòng)文件	
      jmeter-server.bat:mac或者Liunx分布式壓測(cè)使用的啟動(dòng)文件	
      jmeter.properties: 核心配置文件	
      examples:壓測(cè)腳本文件JMX和動(dòng)態(tài)讀取csv參數(shù)文件案例	result—template:可視化HTML	
      template:JMX的模板文件			
docs:Jmeter的API文檔
extras:插件拓展的包
lib:核心的依賴包
ext:核心包
junit:單元測(cè)試包

5)Jmeter核心組件介紹

分布式壓測(cè)系列之Jmeter4.0第一季

什么是測(cè)試計(jì)劃(Test plan)?

    就是壓測(cè)的一個(gè)流程,比如壓測(cè)什么接口,并發(fā)多少用戶,協(xié)議等等,在測(cè)試計(jì)劃下面配置線程組,采樣器,監(jiān)聽器等組件

什么是線程組(Thread Group)?

線程組就是模擬多少用戶并發(fā)訪問(wèn)你的應(yīng)用,這個(gè)組里面共有多少用戶,創(chuàng)建方法如上圖現(xiàn)在“添加->threads->線程組“
    參數(shù)說(shuō)明:
    線程數(shù):虛擬用戶數(shù)。一個(gè)虛擬用戶占用一個(gè)進(jìn)程或線程			
    準(zhǔn)備時(shí)長(zhǎng)(Ramp-Up Period(in seconds)):全部線程啟動(dòng)的時(shí)長(zhǎng),比如100個(gè)線程,20秒,則表示20秒內(nèi)100個(gè)線程都要啟動(dòng)完成,每秒啟動(dòng)5個(gè)線程			    
    循環(huán)次數(shù):每個(gè)線程發(fā)送的次數(shù),假如值為5,100個(gè)線程,則會(huì)發(fā)送500次請(qǐng)求,可以勾選永遠(yuǎn)循環(huán)

分布式壓測(cè)系列之Jmeter4.0第一季

什么是采樣器(Sampler)?


真正干活的組件,采樣器里面配置你要壓測(cè)的接口,協(xié)議,參數(shù)等
可以創(chuàng)建各種采樣器,如Http請(qǐng)求,F(xiàn)TP請(qǐng)求,JDBC壓測(cè)數(shù)據(jù)庫(kù)請(qǐng)求,JMS等,對(duì)應(yīng)的采樣器有不同的配置
以http請(qǐng)求采樣器為例
	名稱:采樣器名稱,一般是接口名稱,方便后續(xù)進(jìn)行區(qū)分,比如“l(fā)ogin接口”
	注釋:采樣器的描述,方便別人理解,類似壓測(cè)接口描述	
	web服務(wù)器配置
			協(xié)議:壓測(cè)的協(xié)議,比如“http”或者"https"
			服務(wù)器名稱或IP:壓測(cè)目標(biāo)機(jī)器的端口或者服務(wù)器IP地址,比如 www.xdclass.net		
			端口號(hào):壓測(cè)目標(biāo)機(jī)器的端口號(hào),比如 8080	
	HTTP請(qǐng)求配置
			方法:http的請(qǐng)求方法,常用的有GET,POST,PUT,DELETE,PATCH等		
			路徑:壓測(cè)的接口的URL,比如 /api/v1/users		
			Content encoding:是否進(jìn)行內(nèi)容編碼
							
			自動(dòng)重定向:http有302狀態(tài)碼返回的時(shí)候,重定向,但不會(huì)產(chǎn)生記錄,不可以做關(guān)聯(lián)請(qǐng)求,		
			比如比如第二個(gè)請(qǐng)求要用到第一個(gè)請(qǐng)求的數(shù)據(jù),則選擇自動(dòng)重定向無(wú)法做關(guān)聯(lián)		
			跟隨重定向:會(huì)產(chǎn)生記錄,可以做關(guān)聯(lián),默認(rèn)勾選這個(gè)		
			Use multipart/from-data for HTTP POST :當(dāng)發(fā)送POST請(qǐng)求時(shí),使用Use multipart/from-data方法發(fā)送,默認(rèn)不選中。		
			parameters:參數(shù)配置		
			Files Upload:文件上傳配置

分布式壓測(cè)系列之Jmeter4.0第一季

什么是結(jié)果樹?

壓測(cè)的結(jié)果查看,可以看到壓測(cè)發(fā)送的url,http參數(shù),返回結(jié)果,返回的整個(gè)響應(yīng),然后如果有斷言或者調(diào)試,可以看到斷言是否通過(guò)等等
添加路徑: 線程組->添加->監(jiān)聽器->察看結(jié)果樹
如果不添加結(jié)果數(shù),則點(diǎn)擊壓測(cè)開始按鈕,壓測(cè)具體響應(yīng)我們無(wú)法知道,所以需要添加結(jié)果數(shù),
一來(lái)是方便調(diào)試壓測(cè)腳本,看請(qǐng)求參數(shù),路徑是否正常
切換到結(jié)果數(shù)查看頁(yè)面,點(diǎn)擊壓測(cè)按鈕就可以進(jìn)壓測(cè),邊壓測(cè)可以邊看到請(qǐng)求的結(jié)果。

分布式壓測(cè)系列之Jmeter4.0第一季

補(bǔ)充個(gè)小技巧,就是GUI圖形界面語(yǔ)言版本中英文切換:

1、控制臺(tái)修改	menu -> options -> choose language 選擇對(duì)應(yīng)的語(yǔ)言版本就可以
2、配置文件修改
		bin目錄 -> jmeter.properties			
		默認(rèn) #language=en			
		改為 language=zh_CN

OK,Jmeter4.0壓力測(cè)試第一季入門先到這里,

下一站章 會(huì)再分享Jmeter高級(jí)知識(shí),比如斷言使用,動(dòng)態(tài)讀取CSV參數(shù),壓測(cè)Mysql,阿里云Linux環(huán)境非GUI界面壓測(cè),分布式壓測(cè)等等

視頻教程參考http://edu.51cto.com/course/13251.html

https://www.xdclass.net/#/coursecatalogue?video_id=3

分布式壓測(cè)系列之Jmeter4.0第一季


向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI