Jmeter实现分布式并发

2022-02-23 16:51:15 浏览数 (1)

Jmeter实现分布式并发,即使用远程机执行用例。

环境: VMware Fusion

Windows系统是win7。

操作过程

1、Master在jmeter.properties添加remote_hosts

2、Slave在jmeter.properties添加server_port

同时把remote_hosts修改为和主机(Master)一样

3、Slave启动jmeter-server

代码语言:javascript复制
jmeter-server -Djava.rmi.server.hostname=192.168.0.102
注:192.168.0.102是你的虚拟机Ip

这里直接说正确的做法了。如果你执行的是jmeter-server,那后面会报错。

这时候在Master上选择远程执行,就会有远程选项了。

解决报错一:启动jmeter-server报错

意思就是找不到rmi_keystore.jks这个文件。如果你版本早的话应该不会报这个错。

解决方法:

你的Jmeter/bin目录下有个create-rmi-keystore.bat文件,在命令行中执行这个文件

代码语言:javascript复制
create-rmi-keystore.bat

然后就可以生成这个rmi_keystore.jks文件了。而且发现Jmeter server也成功启动了。

再次执行,仍然报错:

解决

在master和salve的jmete.properies中打开找到

#server.rmi.ssl.disable=false

给变更成

代码语言:javascript复制
server.rmi.ssl.disable=true
(注意是控制器和压力机都要更改)

重启。

可是无论怎么执行,Master都没有返回结果,似乎也没有执行,因为查看结果树里面是空的。用了两个小时,终于解决了,其实就是把那个rmi_keystore.jks复制到你的Master Jmeter/bin的文件夹下,就解决了。

执行以后如果没有Response data就打开jmeter.properties文件,找到mode=Standard,去掉前面的#,重新启动jmeter

最后强调一下,每次你修改完jmeter.properties都要重启jmeter。

整个过程百度了很多次,网上的解决办法也是多种多样让人头疼,还有说要禁用VMware网卡,这些我都没有理会。

总结一下

1、修改Master和Slave机的remote_hosts

2、修改Master和Slave机的jmeter.properties

代码语言:javascript复制
1、修改
server.rmi.ssl.disable=true
2、打开
mode=Standard
server_port=1099

3、把生成的rmi_keystore.jks文件复制到Master【这个应该生成了就复制过去比较好】

然后在Slave端打开服务:

代码语言:javascript复制
jmeter-server -Djava.rmi.server.hostname=Slave的IP地址

在Master端打开jmeter即可。Master端直接运行jmeter就行,不需要加参数。

0 人点赞