利用JMeter進行負載測試的時候,使用單臺機器模擬測試超過1000個行程的并發(fā)有些力不從心,在執(zhí)行的過程中,JMeter自身會自動關閉,要解決這個問題,可以使用分布式測試,運行多臺機器運行所謂的 Agent 來分擔 JMeter自身的壓力,并借此來獲取更大的并發(fā)用戶數(shù),但是需要進行相關的一些修改,具體如下:
1、在所有期望運行 JMeter 作為 Load Generator 的機器上安裝 JMeter,并確定其中一臺機器作為 Controller,其他的機器作為 Agent。然后運行所有 Agent 機器上的JMeter-server.bat文件——假定我們使用兩臺機器 192.168.0.1 和 192.168.0.2 作為 Agent;
2、在Controller 機器的 JMeter 安裝目錄下找到 bin 目錄,再找到 JMeter.properties 這個文件,使用記事本或者其他文字編輯工具打開它;
3、在打開的文件中查找“remote_hosts=”這個字符串,你可以找到這樣一行“remote_hosts=127.0.0.1”。其中的 127.0..0.1 表示運行 JMeter Agent 的機器,這里需要修改為“remote_hosts=192.168.0.1:1099,192.168.0.2:1099”——其中的 1099 為 JMeter 的 Controller 和 Agent 之間進行通訊的默認 RMI 端口號;
4、保存文件,并重新啟動 Controller 機器上的 JMeter.bat,并進入 Run -> Remote Start 菜單項,在這里可以看到遠程啟動菜單下面有192.168.0.1 ,192.168.0.1兩個IP地址
5、如果要讓某個電腦執(zhí)行,可以點擊改電腦的IP地址可以,如果兩個都要執(zhí)行,可以點擊Run 菜單下的“遠程運行全部”菜單
6、有時候用作代理的機器太少,仍不能滿足需要,則需要將作為Controller的電腦也當作Agent,則同樣需要修改 JMeter.properties文件,將Controller的IP地址寫入。同時,這個時候,需要打先打開Controller 電腦中JMeter下bin目錄下的jmeter-server.bat,然后再打開JMeter.bat,此時,進入Run -> Remote Start菜單,可以看到Controller也作為遠程機器進行運行。