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