Jmeter實(shí)現(xiàn)分布式并發(fā),即使用遠(yuǎn)程機(jī)執(zhí)行用例。
環(huán)境:
VMware Fusion
Windows系統(tǒng)是win7。
操作過(guò)程
1、Master在jmeter.properties添加remote_hosts
2、Slave在jmeter.properties添加server_port
同時(shí)把remote_hosts修改為和主機(jī)(Master)一樣
3、Slave啟動(dòng)jmeter-server
jmeter-server -Djava.rmi.server.hostname=192.168.0.102
注:192.168.0.102是你的虛擬機(jī)Ip
這里直接說(shuō)正確的做法了。如果你執(zhí)行的是jmeter-server,那后面會(huì)報(bào)錯(cuò)。
這時(shí)候在Master上選擇遠(yuǎn)程執(zhí)行,就會(huì)有遠(yuǎn)程選項(xiàng)了。
解決報(bào)錯(cuò)一:?jiǎn)?dòng)jmeter-server報(bào)錯(cuò)
意思就是找不到rmi_keystore.jks這個(gè)文件。如果你版本早的話(huà)應(yīng)該不會(huì)報(bào)這個(gè)錯(cuò)。
解決方法:
你的Jmeter/bin目錄下有個(gè)create-rmi-keystore.bat文件,在命令行中執(zhí)行這個(gè)文件
create-rmi-keystore.bat
然后就可以生成這個(gè)rmi_keystore.jks文件了。而且發(fā)現(xiàn)Jmeter server也成功啟動(dòng)了。
再次執(zhí)行,仍然報(bào)錯(cuò):
解決
在master和salve的jmete.properies中打開(kāi)找到
#server.rmi.ssl.disable=false
給變更成
server.rmi.ssl.disable=true
(注意是控制器和壓力機(jī)都要更改)
重啟。
可是無(wú)論怎么執(zhí)行,Master都沒(méi)有返回結(jié)果,似乎也沒(méi)有執(zhí)行,因?yàn)椴榭唇Y(jié)果樹(shù)里面是空的。用了兩個(gè)小時(shí),終于解決了,其實(shí)就是把那個(gè)rmi_keystore.jks復(fù)制到你的Master Jmeter/bin的文件夾下,就解決了。
執(zhí)行以后如果沒(méi)有Response data就打開(kāi)jmeter.properties文件,找到mode=Standard,去掉前面的#,重新啟動(dòng)jmeter
最后強(qiáng)調(diào)一下,每次你修改完jmeter.properties都要重啟jmeter。
整個(gè)過(guò)程百度了很多次,網(wǎng)上的解決辦法也是多種多樣讓人頭疼,還有說(shuō)要禁用VMware網(wǎng)卡,這些我都沒(méi)有理會(huì)。
總結(jié)一下
1、修改Master和Slave機(jī)的remote_hosts
2、修改Master和Slave機(jī)的jmeter.properties
1、修改
server.rmi.ssl.disable=true
2、打開(kāi)
mode=Standard
server_port=1099
3、把生成的rmi_keystore.jks文件復(fù)制到Master【這個(gè)應(yīng)該生成了就復(fù)制過(guò)去比較好】
然后在Slave端打開(kāi)服務(wù):
jmeter-server -Djava.rmi.server.hostname=Slave的IP地址
在Master端打開(kāi)jmeter即可。Master端直接運(yùn)行jmeter就行,不需要加參數(shù)。
聯(lián)系客服