Jmeter分布式執(zhí)行原理:
1、Jmeter分布式測試時,選擇其中一臺作為調(diào)度機(master)溪窒,其它機器做為執(zhí)行機(slave)。
2车猬、執(zhí)行時霉猛,master會把腳本發(fā)送到每臺slave上,slave 拿到腳本后就開始執(zhí)行珠闰,slave執(zhí)行時不需要啟動GUI惜浅,我理解它應該是通過命令行模式執(zhí)行的。
3伏嗜、執(zhí)行完成后坛悉,slave會把結果回傳給master,master會收集所有slave的信息并匯總
執(zhí)行機(slave)配置:
1承绸、slave機上需要安裝Jmeter裸影,具體如何安裝這里不詳細介紹了。
2军熏、添加環(huán)境變量:JMETER_HOME=path轩猩,此處為你Jmeter的路徑
3、啟動bin目錄下的:jmeter-server.bat荡澎,沒有配置環(huán)境變量啟動如下圖:
啟動成功
4均践、上圖上標紅的IP和端口會在master里配置時用到。IP就是slave機器IP摩幔,端口默認是1099彤委,端口也可以自定義,這里我自定義為1000或衡,這個后面會講焦影。
5、多臺slave的話封断,重復1~4步驟就好
調(diào)度機(master)配置:
1斯辰、腳本:簡單的一個訪問百度的腳本:
2、找到Jmeter的bin目錄下jmeter.properties文件坡疼,修改如下配置椒涯,IP和Port是slave機的IP以及自定義的端口(這里端口我自定義為100,后面會講如何自定義):
remote_hosts=10.13.223.202:1000,10.13.225.12:1000
多臺slave之前用","隔開回梧,我這配置了2臺废岂,可以看到標紅的這個就是上面截圖slave的IP和Port.
3、打開Jmeter狱意,選擇運行湖苞,有運程啟動、運程全部啟動兩個選項:
4详囤、選擇遠程啟動-->10.13.225.12:1000
a) master結果财骨,這里我只啟動了10.13.225.12:1000這一臺slave,所以只有一個結果(線程數(shù)和循環(huán)次數(shù)都是1):
b) slave控制臺信息:
自定義端口:
1藏姐、slave:在slave機的Jmeter的bin目錄下隆箩,找到jmeter.properties文件,修改如下兩個配置項羔杨,比如我這里修改為1888:
server_port=1888
server.rmi.localport=1888
2捌臊、啟動slave機上的jmeter-server.bat,如下圖兜材,端口已經(jīng)修改為:1888
3理澎、master:修改master機器的jmeter.properties文件:
remote_hosts=10.13.223.202:1000,10.13.225.12:1888
4、重啟jmeter.bat曙寡,如下圖糠爬,端口已經(jīng)變了:
其它說明:
1、調(diào)度機(master)和執(zhí)行機(slave)最好分開举庶,由于master需要發(fā)送信息給slave并且會接收slave回傳回來的測試數(shù)據(jù)执隧,所以mater自身會有消耗,所以建議單獨用一臺機器作為mater户侥。
2镀琉、參數(shù)文件:如果使用csv進行參數(shù)化,那么需要把參數(shù)文件在每臺slave上拷一份且路徑需要設置成一樣的添祸。
3滚粟、每臺機器上安裝的Jmeter版本和插件最好都一致,否則會出一些意外的問題刃泌。