jmeter 命令启动/分布式压测

场景说明:如果我们并发量比较大,一台压测机无法满足我们的测试需求,则需要多台压测机一起执行压测,那么如何进行分布式压测呢?

 

1、准备三台机器

主控机:172.18.16.85

调度机:172.31.7.37, 172.31.7.36

三台机器相同目录下安装了同版本的jmeter

 

2、主控机配置

$jmeter_home/bin目录下vim jmeter.properties修改

server_port=1099
server.rmi.ssl.disable=true(关闭SSL传输)
./jmeter-server

启动了之后可以在其他机器上检查是否连上telnet 172.18.16.85 1099 ,如下提示正常,回头也可以通过命令ps -ef|grep jmeter-server查看是否启动。

 

报错信息一:

Server failed to start: java.rmi.RemoteException: Cannot start. localhost.localdomain is a loopback address. An error occurred: Cannot start. localhost.localdomain is a loopback address.

解决方案:启动的时候指定host

./jmeter-server -Djava.rmi.server.hostname=172.18.16.85

 

3、调度机配置

$jmeter_home/bin目录下vim jmeter.properties修改

server.rmi.ssl.disable=true(关闭SSL传输)
remote_hosts=172.31.7.37:1099, 172.31.7.36:1099(执行机的IP, 多个执行机用逗号隔开)

 

4、关于rmi传输方式

由于从4.0版本开始,RMI的默认传输机制使用SSL,SSL需要密钥和证书才能工作,所以需要自己创建中和谐密钥。

$jmeter_home/bin目录下的create-rmi-keystore.sh执行生成rmi_keystore.jks密钥文件放到执行机的bin目录下。启动代理机。

 

5、测试文件拷贝到所有的调度机下,如果主控机参与压测也要拷贝,具体拷贝目录如下

将测试脚本和参数文件放到$jmeter_home/bin目录下

如果应用了jar包的话放到$jmeter_home/lib/ext目录下

 

6、在主控机上执行命令

jmeter -n -t test.jmx -R 172.31.7.37,172.31.7.36 -l result1.jtl

 

 

 

 

 

posted @ 2022-03-11 15:04  gina_qq  阅读(527)  评论(0编辑  收藏  举报