一、分布式压测配置

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 后查看结果树响应数据为空

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


↙↙↙阅读原文可查看相关链接,并与作者交流