Meter是一个很出色的压力测试工具,即可实现单机压测,也可以实现远程分布式压测。这里记录以下远程分布式压测配置实现。
一般来说,JMeter客户端都是放在Window上的,JMeter客户端本本身不执行压测工作,只是将压测脚本分发给jmeter服务端,由服务端进行压测工作,架构图如下。
jmeter客户端配置
jmeter客户端配置相当简单,只需要在jmeter.properties中指定remote-host
即可,如下配置,
remote_hosts=192.168.31.101:1099,192.168.31.102:1099,192.168.31.103:1099
其中1099
是jmeter server默认的服务端口。接着在jmeter客户端通过UI可以看到如下,
jmeter服务端配置
jmeter服务端配置相当简单,只需要启动jmeter-server
服务即可。
启动方式,到jmeter的home目录下面的bin目录,启动:./jmeter-server
参考:https://www.linuxidc.com/Linux/2017-09/146660.htm
遇到的问题:
一、启动jmeter-server的时候,提示:java.io.FileNotFoundException: rmi_keystore.jks (系统找不到指定的文件。)
1、找到apache-jmeter-4.0\bin\jmeter.properties
2、修改server.rmi.ssl.disable=true (记得去除server.rmi.ssl.disable=true前的#),重新启动jmeter-server.bat
3、查看命令窗口显示则启动成功
参考:https://blog.csdn.net/maoer901203/article/details/81301359
二、在Ubuntu中启动./jmeter-server报错Server failed to start: java.rmi.RemoteException: Cannot start. ranxf is a loopback address
在jmeter-server加上参数后再次执行: ./jmeter-server -Djava.rmi.server.hostname=10.1.1.222
参考地址:http://www.mamicode.com/info-detail-2255828.html
三、启动远程服务器的时候提示
ERROR o.a.j.e.DistributedRunner: Failed to create engine at 172.30.8.210:1099
java.rmi.ConnectException: Connection refused to host: 172.30.8.210; nested exception is:
java.net.ConnectException: Operation timed out (Connection timed out)
开放对应的端口或关闭远程服务器的防火墙即可
命令行下远程分布式压力测试:
测试命令说明
./jmeter -n -t 压力测试.jmx -r -l results.jtl
-o :用于存放html报告的目录