1. 程式人生 > >Jmeter分布式測試

Jmeter分布式測試

比較 機器 模式 src 最好 循環 匯總 hosts 詳細介紹

Jmeter分布式測試

在使用Jmeter進行性能測試時,如果並發數比較大(比如最近項目需要支持1000並發),單臺電腦的配置(CPU和內存)可能無法支持,這時可以使用Jmeter提供的分布式測試的功能。

一、Jmeter分布式執行原理:

1、Jmeter分布式測試時,選擇其中一臺作為調度機(master),其它機器做為執行機(slave)。

2、執行時,master會把腳本發送到每臺slave上,slave 拿到腳本後就開始執行,slave執行時不需要啟動GUI,我理解它應該是通過命令行模式執行的。

3、執行完成後,slave會把結果回傳給master,master會收集所有slave的信息並匯總。

二、執行機(slave)配置:

1、slave機上需要安裝Jmeter,具體如何安裝這裏不詳細介紹了。

2、添加環境變量:JMETER_HOME=D:B_TOOLSapache-jmeter-2.13,此處為你Jmeter的路徑

3、啟動bin目錄下的:jmeter-server.bat,啟動成功如下圖:

技術分享

4、上圖上標紅的IP和端口會在master裏配置時用到。IP就是slave機器IP,端口默認是1099,端口也可以自定義,這裏我自定義為1000,這個後面會講。

5、多臺slave的話,重復1~4步驟就好。

三、調度機(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,所以只有一個結果(線程數和循環次數都是1):

技術分享

b) slave控制臺信息:

技術分享

5、選擇遠程啟動-->遠程全部啟動:

a) master結果,全部啟動,我配置了2臺slave,所以有兩次執行結果:

技術分享

四、自定義端口:

上面其實已經實現了Jmeter的分布式測試,這部分主要介紹下如何自定義slave端口:

1、slave:在slave機的Jmeter的bin目錄下,找到jmeter.properties文件,修改如下兩個配置項,比如我這裏修改為1888:

server_port=1888

server.rmi.localport=1888

2、啟動slave機上的jmeter-server.bat,如下圖,端口已經修改為:1888

技術分享

3、master:修改master機器的jmeter.properties文件:

remote_hosts=10.13.223.202:1000,10.13.225.12:1888

4、重啟jmeter.bat,如下圖,端口已經變了:

技術分享

五、其它說明:

1、調度機(master)和執行機(slave)最好分開,由於master需要發送信息給slave並且會接收slave回傳回來的測試數據,所以mater自身會有消耗,所以建議單獨用一臺機器作為mater。

2、參數文件:如果使用csv進行參數化,那麽需要把參數文件在每臺slave上拷一份且路徑需要設置成一樣的。

3、每臺機器上安裝的Jmeter版本和插件最好都一致,否則會出一些意外的問題。

Jmeter分布式測試