jmter进行性能测试时,有时会出现一台负载机压力不够的情况,此时需要多台负载机。那么如何实现呢?
比如说,我在本地有一台windows机子,还有一台远程 linux服务器,如何实现我本地控制远程机进行压测?
1、在linux服务器部署jmeter服务;
2、在部署的bin目录下,找到 jmeter.properties,将 配置项 server.rmi.ssl.disable 改成 true (若运行第3步,无异常也可以不用配置);
3、启动代理服务 bin/jmeter-server;
4、本地windows环境 部署jmeter服务;
5、本地windows环境,在部署的bin目录下,配置jmeter.properties, (1)将 server.rmi.ssl.disable 改成 true (2) 配置 remote_hosts 地址(多个远程地址间用逗号分隔,默认端口是1099, eg:remote_hosts=127.0.0.1,10.20.xx.xxx);
6、启动windows环境的服务 bin/jmeter.bat (此时,此机子是控制机)
7、执行 RUN --> REMOTE START, 选择远程机 执行脚本
若本地windows机子也作为负载机,那么remote_hosts需将本地的IP也配置上去,并且启动 bin/jmeter-server.bat 服务;
那么远程机执行的脚本是哪个呢?
远程机执行的脚本就是你windows打开的的脚本;当然也可以用无GUI 的方式打开:
D:\software\apache-jmeter-5.0\bin>jmeter -n -t demo20190214.jmx -R 10.20.18.174
Creating summariser <summary>
Created the tree successfully using demo20190214.jmx
Configuring remote engine: 10.20.18.174
Starting remote engines
Starting the test @ Thu Aug 15 15:51:39 GMT+08:00 2019 (1565855499782)
Remote engines have been started
Waiting for possible Shutdown/StopTestNow/Heapdump message on port 4445
summary = 1 in 00:00:05 = 0.2/s Avg: 5031 Min: 5031 Max: 5031 Err:
1 (100.00%)
Tidying up remote @ Thu Aug 15 15:51:46 GMT+08:00 2019 (1565855506133)
... end of run
D:\software\apache-jmeter-5.0\bin>
-n 无GUI
-R 指定远程负载机
-t 指定测试计划
-l 指定输出结果文件
有一个情况需要注意:当你的脚本存在外部文件,比如csv, txt脚本时,你需保证每一个远程机上都存在此文件,jmeter控制机并不会自动复制文件;