Jmeter 分布式測試組態方法,jmeter配置
利用JMeter進行負載測試的時候,使用單台機器類比測試超過1000個行程的並發就有些力不從心,在執行的過程中,JMeter自身會自動關閉,要解決這個問題,可以使用分布式測試,運行多台機器運行所謂的 Agent 來分擔 JMeter自身的壓力,並藉此來擷取更大的並發使用者數,但是需要進行相關的一些修改,具體如下:
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 連接埠號碼,連接埠號碼在運行Agent上面的jmeter-server.bat時,會顯示出來,注意:有些高版本的JMeter不需要寫port,remote_hosts=192.168.0.1就可以了;
4、儲存檔案,並重新啟動 Controller 機器上的 JMeter.bat,並進入 Run -> Remote Start 功能表項目,在這裡可以看到遠程啟動菜單下面有192.168.0.1 ,192.168.0.1兩個IP地址
5、如果要讓某個電腦執行,可以點擊改電腦的IP地址就可以,如果兩個都要執行,可以點擊Run 菜單下的“遠程運行全部”菜單
6、有時候用作代理的機器太少,仍不能滿足需要,則需要將作為Controller的電腦也當作Agent,則同樣需要修改 JMeter.properties檔案,將Controller的IP地址寫入。同時,這個時候,需要打先開啟Controller 電腦中JMeter下bin目錄下的jmeter-server.bat,然後再開啟JMeter.bat,此時,進入Run -> Remote Start菜單,可以看到Controller也作為遠程機器進行運行。
在串連時報:connection refused to host:10.10.90.69 nested exception is...錯誤,後來發現是啟動JMeter-server.bat時就報錯了,分析原因是jmeter安裝檔案放到案頭上有中文字元引起的。
p.s.上周牛測試搜尋引擎的效能時,遇到問題後,DB給的支援,記錄一下,供將來遇到類似問題時參考。