1、注意事项
(1)主控机和所有的客户机要求都在同一局域网
(2)主控机和所有的客户机的 jmeter 和 jdk 要求是同一版本
(3)注意主控机和所有的客户机的防火墙需要关闭
systemctl stop firewalld.service
firewall-cmd --state
(4)假设有三台机器,一台主控机即控制机(192.168.13.9),两台客户机即执行机(192.168.13.248 192.168.13.252)
2、环境配置
(1)修改 2 台客户机上的 jmeter.properties 文件,关闭 ssl
server.rmi.ssl.disable=true
(2)通过命令启动 2 台客户机,注意命令中的 ip 指客户机的 io
./jmeter-server -Djava.rmi.server.hostname=192.168.13.248
(3)另外一台客户机也启动
./jmeter-server -Djava.rmi.server.hostname=192.168.13.252
(4)修改主控机上的 jmeter.properties 文件,配置 2 台客户机的 ip、关闭 ssl
remote_hosts=192.168.13.248:1099,192.168.13.252:1099
server.rmi.ssl.disable=true
(5)修改主控机上的 system.properties 文件(注意 ip 为主控机的 ip)
java.rmi.server.hostname=192.168.13.9
(6)主控机启动压测
jmeter.bat -n -t C:\apache-jmeter-5.3\地图实验室\dtsys.jmx -r -l C:\apache-jmeter-5.3\地图实验室\test1434.jtl
注意:
-r 代表启动所有的远程机器
-R 192.168.13.248,192.168.13.252 代表的启动某些远程机器
-l 表示输出日志
(7)主控机每次执行完毕后,建议将客户机重启下
(8)最终的压力并发数=脚本的线程数 * 客户机的数量(如下实际压测数是 2000)
jmeter 默认情况下命令行执行压测脚本后生成的 jtl 文件打开后查看结果树中响应数据是为空的
如果要显示响应数据的话,修改以下两个配置文件
1、在 jmeter.properties 文件中修改配置
jmeter.save.saveservice.response_data=true
jmeter.save.saveservice.samplerData=true
2、在 user.properties 文件中追加配置
jmeter.save.saveservice.output_format=xml
jmeter.save.saveservice.response_data=true
jmeter.save.saveservice.samplerData=true
jmeter.save.saveservice.requestHeaders=true
jmeter.save.saveservice.url=true
jmeter.save.saveservice.responseHeaders=true
3、命令行执行脚本
./jmeter.sh -n -t /opt/apache-jmeter-5.3/dtsys/dtsys.jmx -l /opt/apache-jmeter-5.3/dtsys/result/result1124.jtl