一、Jmeter 分布式執(zhí)行原理:
- Jmeter 分布式測(cè)試時(shí),選擇其中一臺(tái)作為調(diào)度機(jī)(master),其它機(jī)器做為執(zhí)行機(jī) (slave)。
- 執(zhí)行時(shí),master 會(huì)把腳本發(fā)送到每臺(tái) slave 上,slave 拿到腳本后就開始執(zhí)行,slave 執(zhí)行時(shí)不需要啟動(dòng) GUI,我理解它應(yīng)該是通過命令行模式執(zhí)行的。
- 執(zhí)行完成后,slave 會(huì)把結(jié)果回傳給 master,master 會(huì)收集所有 slave 的信息并匯 總。
二、執(zhí)行機(jī)(slave)配置:
- slave 機(jī)上需要安裝 Jmeter,具體如何安裝這里不詳細(xì)介紹了。
- 添加環(huán)境變量:JMETER_HOME=D:\B_TOOLS\apache-jmeter-2.13,此處為你 Jmeter 的路徑
-
啟動(dòng) bin 目錄下的:jmeter-server,如下圖
image.png - 上圖上標(biāo)紅的 IP 和端口會(huì)在 master 里配置時(shí)用到。IP 就是 slave 機(jī)器 IP,端口默 認(rèn)是 1099,端口也可以自定義,這里我自定義為 1099,這個(gè)后面會(huì)講。 5、多臺(tái) slave 的話,重復(fù) 1~4 步驟就好。
三、調(diào)度機(jī)(master)配置:
- 例如:腳本:簡(jiǎn)單的一個(gè)訪問百度的腳本(這個(gè)可以根據(jù)自行定義):
- 找到 Jmeter 的 bin 目錄下 jmeter.properties 文件,修改如下配置,IP 和 Port 是 slave 機(jī)的 IP 以及自定義的端口(這里端口我自定義為 100,后面會(huì)講如何自定義): remote_hosts=10.13.11.202:1099,10.13.11.12:1099
修改jmeter.properties中server.rmi.ssl.disable=true 不啟動(dòng)SSL

image.png
多臺(tái) slave 之前用","隔開,我這配置了 2 臺(tái),可以看到標(biāo)紅的這個(gè)就是上面截圖 slave 的 IP 和 Port.
-
打開 Jmeter 腳本,加上遠(yuǎn)程地址的倉庫的 ip。執(zhí)行命令,master 會(huì)提示
image.png
Slave 機(jī)上會(huì)提示:開始和結(jié)束的兩個(gè)線程,如圖:
image.png
四、自定義端口:
上面其實(shí)已經(jīng)實(shí)現(xiàn)了 Jmeter 的分布式測(cè)試,這部分主要介紹下如何自定義 slave 端口:
- slave:在 slave 機(jī)的 Jmeter 的 bin 目錄下,找到 jmeter.properties 文件,修改如 下兩個(gè)配置項(xiàng),比如我這里修改為 1888: server_port=1888 server.rmi.localport=1888
- 啟動(dòng) slave 機(jī)上的 jmeter-server.bat
- master:修改 master 機(jī)器的 jmeter.properties 文件: remote_hosts=10.13.223.202:1000,10.13.225.12:1888
修改jmeter.properties中server.rmi.ssl.disable=true 不啟動(dòng)SSL - 重啟 jmeter.bat
五、其它說明:
- 調(diào)度機(jī)(master)和執(zhí)行機(jī)(slave)最好分開,由于 master 需要發(fā)送信息給 slave 并且 會(huì)接收 slave 回傳回來的測(cè)試數(shù)據(jù),所以 mater 自身會(huì)有消耗,所以建議單獨(dú)用一臺(tái)機(jī)器作 為 mater。
- 參數(shù)文件:如果使用 csv 進(jìn)行參數(shù)化,那么需要把參數(shù)文件在每臺(tái) slave 上拷一份 且路徑需要設(shè)置成一樣的。
- 每臺(tái)機(jī)器上安裝的 Jmeter 版本和插件最好都一致,否則會(huì)出一些意外的問題。


