一、测试准备:
1.准备至少2台压测服务器,命令ifconfig检查内网ip,需在同一个网段
2.2台服务器上分别配置Java和jmeter环境,注意版本需相同
3.上传jmx脚本到jmeter的bin目录下
4.查看防火墙状态并关闭service iptables status/systemctl status firewalld
二、分布式压测原理:
三、参数配置:
1.主机配置:打开/bin目录下的jmeter.properties ,找到关键字remote_hosts, 配置负载机ip+端口,多个可以用逗号隔开,jmeter的默认端口为1099
remote_hosts=10.0.0.95:1099,10.0.0.11:1099
备注:主机也可以作为从机,注意主机的ip地址如果写localhost:1099,则无法启动控制机服务
2.Linux下, vi jmeter-server,将hostname后面改成linux 的ip,并取消注释
RMI_HOST_DEF=-Djava.rmi.server.hostname=10.0.0.95
RMI_HOST_DEF=-Djava.rmi.server.hostname=10.0.0.11
3.从机均需打开jmeter-server.bat(linux下命令sh jmeter-server.sh,有的没有sh后缀)
控制机执行分布式命令:
远程启动所有从机 sh jmeter.sh -n -r -t test.jmx -l /opt/jmeter/test.jtl
远程启动指定从机IP sh jmeter.sh -n -R 10.0.0.11 -t test.jmx -l /opt/jmeter/test.jtl
summary代表运行成功的线程数
bin目录下生成jtl格式的聚合报告
四、.shell脚本优化命令
1.jmeter bin目录下新建xx.sh,因为sh文件中的jmeter -n -r -t xx.jmx命令需要在bin目录下运行
2.shell文件中的tar命令注意换行编写
3.生成html文件时需先清空历史文件
shell脚本内容:
#!/bin/bash
rm -rf /opt/jmeter/test.jtl
rm -rf /opt/htmlReport
rm -rf /opt/htmlReport.tar
jmeter -n -r -t /opt/jmeter/apache-jmeter-3.1/bin/test.jmx -l /opt/jmeter/test.jtl -e -o /opt/htmlReport
tar czvf /opt/htmlReport.tar.gz /opt/htmlReport
4进入bin目录执行shell脚本:sh xx.sh ,省去jmeter -n -r -t -l等命令
5.在Windows下打开htmlReport报告
参考:
jmeter分布式官方文档https://jmeter.apache.org/usermanual/jmeter_distributed_testing_step_by_step.html
解压缩命令文档https://blog.csdn.net/qq_38175730/article/details/82855333
网友评论