JMeter分布式测试
2020-06-19 本文已影响0人
xiaolyuh
注意事项
- 系统上的防火墙已关闭或打开了正确的端口。
- 所有客户端都在同一子网中。
- 如果使用192.xxx或10.xxx IP地址,则服务器位于同一子网中。如果服务器不使用192.xx或10.xx IP地址,则应该没有任何问题。
- 确保JMeter可以访问服务器。
- 确保在所有系统上使用相同版本的JMeter和Java。混合版本将无法正常工作。
- 您已经为RMI设置了SSL或将其禁用。
原理图

-
Master
:Jmeter主控机器 -
Slaves
:发起压测的机器 -
Target
:被压测的机器(目标机器)
环境准备
-
在所有设备上安装相同版本的JDK和Jmeter
-
修改
Slaves
机器的jmeter.properties
配置文件,关闭ssl功能
server.rmi.ssl.disable=true
-
通过命令启动
Slaves
机器./jmeter-server -Djava.rmi.server.hostname=xxx.xxx.xxx.xxx
-
修改
Master
机器的jmeter.properties
配置文件,配置Slaves
机器IP和关闭SSL。
remote_hosts=10.10.10.101:1099,10.10.10.101:1099
server.rmi.ssl.disable=true
- Master启动压测
jmeter -n -t test.jmx -r -l test.jtl -e -o ./test
启动遇到的问题
loopback address.
[root@VM_253_4_centos bin]# ./jmeter-server
Jun 18, 2020 3:17:46 PM java.util.prefs.FileSystemPreferences$1 run
INFO: Created user preferences directory.
Server failed to start: java.rmi.RemoteException: Cannot start. VM_253_4_centos is a loopback address.
An error occurred: Cannot start. VM_253_4_centos is a loopback address.
解决方式,指定hostname:
./jmeter-server -Djava.rmi.server.hostname=xxx.xxx.xxx.xxx
rmi_keystore.jks
[root@VM_253_4_centos bin]# ./jmeter-server
Server failed to start: java.rmi.server.ExportException: Listen failed on port: 0; nested exception is:
java.io.FileNotFoundException: rmi_keystore.jks (No such file or directory)
An error occurred: Listen failed on port: 0; nested exception is:
java.io.FileNotFoundException: rmi_keystore.jks (No such file or directory)
解决方案:
如果不测试https接口则直接修改jmeter.properties
文件,将server.rmi.ssl.disable=false
改为server.rmi.ssl.disable=true
。
修改主节点的jmeter.properties
remote_hosts=salveip1:1099,salveip2:1099如:
remote_hosts=10.10.10.101:1099,10.10.10.101:1099
server.rmi.ssl.disable=true
参考
https://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.html