有些時候,我們在進行壓力測試的時候,隨着模擬用戶的增加,電腦的性能(CPU,內存)占用是非常大的,為了我們得到更加理想的測試結果,我們可以利用jmeter的分布式來緩解機器的負載壓力,分布到多台機器同時運行。
1.Jmeter分布式執行原理:
1、Jmeter分布式測試時,選擇其中一台作為控制機(Controller),其它機器做為代理機(Agent)。
2、執行時,Controller會把腳本發送到每台Agent上,Agent 拿到腳本后開始執行,Agent執行時不需要啟動Jmeter,只需要把jmeter-server.bat文件打開,它應該是通 過命令行模式來執行的。
3、執行后,Agent會把結果回傳給Controller,Controller會收集所有Agent的信息並匯總。
1.代理機器(Agent)配置:
1.首先安裝好JDK,jmeter,配置好環境變量(版本需要於控制機統一)
2.查看本機IP地址,打開“運行”,輸入"CMD",然后輸入“ipconfig”,找到IP地址:“IPv4地址”后面
3、打開Jmeter/bin/jmeter.properties,找到”remote_hosts=127.0.0.1”,把這一行修改為”remote_hosts=192.168.8.149:1099,1099是端口號,可以隨意自定義。
4、打開jmeter-server.bat文件,就設置完成了,等待控制機(Controller)啟動。
2.控制機(Controller)配置:
1、Controller機上需要安裝JDK、Jmeter,並且配置好環境變量。
2、打開“運行”,輸入"cmd",打開運行面板,輸入“ipconfig”,找到IP地址,例如是:192.168.8.174
3、打開Jmeter/bin/jmeter.properties,找到”remote_hosts=127.0.0.1”,把這一行修改為”remote_hosts=192.168.8.149:1099,192.168.8.174:1099,1099是端口號,可以隨意自定義。如果有多台代理機,這里需要把所有的代理機的IP地址和端口號都加入進來。
4、打開jmeter-server.bat文件,設置完成了。
開始添加線程組和請求來運行查看結果:
1、打開jmeter.bat文件,添加線程組,編輯線程數,這里設置2000個線程數,執行五分鍾,就是一台機器發送2000*300(s)個請求。
2、然后添加HTTP請求開始編寫腳本。
3、添加察看結果數和聚合報告,點擊運行,可以選擇遠程啟動或者遠程全部啟動,如果是點擊遠程啟動,可以選擇任意一台電腦來運行,如果是點擊遠程全部啟動就會運行控制機和所有的代理機。