更新時間:2021-08-06 16:54:23 來源:動力節(jié)點 瀏覽1655次
在使用Jmeter進(jìn)行性能測試時,如果并發(fā)數(shù)比較大(比如最近項目需要支持1000并發(fā)),單臺電腦的配置(CPU和內(nèi)存)可能無法支持,這時可以使用Jmeter提供的分布式測試的功能。
(1)Jmeter分布式測試時,選擇其中一臺作為調(diào)度機(jī)(master),其它機(jī)器做為執(zhí)行機(jī)(slave)。
(2)執(zhí)行時,master會把腳本發(fā)送到每臺slave上,slave拿到腳本后就開始執(zhí)行,slave執(zhí)行時不需要啟動GUI,我理解它應(yīng)該是通過命令行模式執(zhí)行的。
(3)執(zhí)行完成后,slave會把結(jié)果回傳給master,master會收集所有slave的信息并匯總。
(1)slave機(jī)上需要安裝Jmeter,具體如何安裝這里不詳細(xì)介紹了。
(2)添加環(huán)境變量:JMETER_HOME=D:B_TOOLSapache-jmeter-2.13,此處為你Jmeter的路徑
(3)啟動bin目錄下的:jmeter-server.bat,啟動成功如下圖:
(4)上圖上標(biāo)紅的IP和端口會在master里配置時用到。IP就是slave機(jī)器IP,端口默認(rèn)是1099,端口也可以自定義,這里我自定義為1000,這個后面會講。
(5)多臺slave的話,重復(fù)1~4步驟就好。
(1)腳本:簡單的一個訪問百度的腳本:

2.找到Jmeter的bin目錄下jmeter.properties文件,修改如下配置,IP和Port是slave機(jī)的IP以及自定義的端口(這里端口我自定義為100,后面會講如何自定義):
remote_hosts=10.13.223.202:1000,10.13.225.12:1000
多臺slave之前用","隔開,我這配置了2臺,可以看到標(biāo)紅的這個就是上面截圖slave的IP和Port.
3.打開Jmeter,選擇運(yùn)行,有運(yùn)程啟動、運(yùn)程全部啟動兩個選項:

4、選擇遠(yuǎn)程啟動-->10.13.225.12:1000
a)master結(jié)果,這里我只啟動了10.13.225.12:1000這一臺slave,所以只有一個結(jié)果(線程數(shù)和循環(huán)次數(shù)都是1):

b)slave控制臺信息:

5、選擇遠(yuǎn)程啟動-->遠(yuǎn)程全部啟動:
a)master結(jié)果,全部啟動,我配置了2臺slave,所以有兩次執(zhí)行結(jié)果:

上面其實已經(jīng)實現(xiàn)了Jmeter的分布式測試,這部分主要介紹下如何自定義slave端口:
(1)slave:在slave機(jī)的Jmeter的bin目錄下,找到j(luò)meter.properties文件,修改如下兩個配置項,比如我這里修改為1888:
server_port=1888
server.rmi.localport=1888
(2)啟動slave機(jī)上的jmeter-server.bat,如下圖,端口已經(jīng)修改為:1888
(3)master:修改master機(jī)器的jmeter.properties文件:
remote_hosts=10.13.223.202:1000,10.13.225.12:1888
(4)重啟jmeter.bat,如下圖,端口已經(jīng)變了:
(1)調(diào)度機(jī)(master)和執(zhí)行機(jī)(slave)最好分開,由于master需要發(fā)送信息給slave并且會接收slave回傳回來的測試數(shù)據(jù),所以mater自身會有消耗,所以建議單獨用一臺機(jī)器作為mater。
(2)參數(shù)文件:如果使用csv進(jìn)行參數(shù)化,那么需要把參數(shù)文件在每臺slave上拷一份且路徑需要設(shè)置成一樣的。
(3)每臺機(jī)器上安裝的Jmeter版本和插件最好都一致,否則會出一些意外的問題。
以上就是動力節(jié)點小編介紹的"JMeter分布式測試",希望對大家有幫助,想了解更多可查看JMeter教程。動力節(jié)點在線學(xué)習(xí)教程,針對沒有任何Java基礎(chǔ)的讀者學(xué)習(xí),讓你從入門到精通,主要介紹了一些Java基礎(chǔ)的核心知識,讓同學(xué)們更好更方便的學(xué)習(xí)和了解Java編程,感興趣的同學(xué)可以關(guān)注一下。