jmeter3000用户压测_jmeter集群压测搭建

本文介绍了在使用JMeter进行3000用户压测时遇到的CSV参数文件访问不到的问题及其解决方案。问题源于调度机与执行机之间的环境差异导致的文件路径不一致。通过查看执行机上的日志找到'user.dir'配置值,确保参数文件位于正确目录或同步到执行机的相应目录,以解决脚本执行失败的问题。
摘要由CSDN通过智能技术生成

准备: 1:一台调度机(windows GUI),因为windows图形界面方便看压测监控信息

2:N台执行机(linux)

3:csv参数文件的配置

在整个过程中遇到一个比较棘手的问题:执行访问不到csv参数文件。

------------分析:

因为测试脚本jmx文件只需要放在调度机上,搭建好集群后,调度机会自动同步测试脚本到执行机上。 但调度机是windows环境,执行机是linux环境,会出现csv所在的目录不一致。从而在执行机执行脚本的时候会出现如下错误:

2017-10-31 17:29:14,133 INFO o.a.j.t.JMeterThread: Thread started: 线程组 1-1

2017-10-31 17:29:14,134 INFO o.a.j.s.FileServer: Stored: \2017\flowproduct.csv

2017-10-31 17:29:14,134 ERROR o.a.j.t.JMeterThread: Test failed!

java.lang.IllegalArgumentException: File \2017\flowproduct.csv must exist and be readable

at org.apache.jmeter.services.FileServer.createBufferedReader(FileServer.java:430) ~[ApacheJMeter_core.jar:3.3 r1808647]

at org.apache.jmeter.services.FileServer.readLine(FileServer.java:346) ~[ApacheJMeter_core.jar:3.3 r1808647]

at org.apache.jmeter.config.CSVDataSet.iterationStart(CSVDataSet.java:203) ~[ApacheJMeter_components.jar:3.3 r1808647]

at org.apache.jmeter.control.GenericController.fireIterationStart(GenericController.java:393) ~[ApacheJMeter_core.jar:3.3 r1808647]

at org.apache.jmeter.control.GenericController.fireIterEvents(GenericController.java:385) ~[ApacheJMeter_core.jar:3.3 r1808647]

at org.apache.jmeter.control.GenericController.next(GenericController.java:158) ~[ApacheJMeter_core.jar:3.3 r1808647]

at org.apache.jmeter.control.LoopContr

-----------解决方法:

一句话:在执行机看启动的日志,找到jmeter.JMeter:user.dir输出项的配置值(用户目录)。

例如:我们在执行机上将jmeter安装在/opt/haitao/jemter目录。我们写了一个启动jmeter的脚本jmeter.sh文件。这个jmeter.sh就需要放在user.dir目录下。

即:调度机将执行文件自动发送到执行机启动的那个目录下

1:我们启动jmeter.sh的时候发现user.dir=/home/admin,那我们就需要将jmeter.sh移到/home/admin下

2:将jmeter.sh移到/home/admin下

3:jmeter.sh的内容

前些天,在进行分布式参数化测试的时候,出现了如题所示的错误报错信息。此文,针对此做一个简略的重现及分析说明。

JMX脚本线程组参数配置如下所示:

参数文件路径配置如下所示:

执行JMX脚本后,服务器对应日志错误信息(部分)输出如下所示:

综上,如下两种情况下,测试脚本参数化均无法按照预期正确执行:

参数文件路径为绝对路径,但对应路径下不存在

参数文件路径为相对路径,但对应执行机(Slave)服务分发路径下不存在

那么,调度机(Controller)分发脚本到执行机(Slave)的路径是什么呢?查看脚本分发路径有如下两种方式:

一、通过执行机服务日志,user.dir 目录即为分发路径(推荐)

二、分发jmx脚本目录即为执行机服务启动目录,例如执行机服务启动命令行如下所示:

那么,此执行机对应的jmx脚本分发目录为:D:\DevTool\apache-jmeter-3.0\bin

执行JMX测试脚本

第一次,对应分发路径无对应参数文件

第二次,对应分发路径有对应参数文件

执行机(Slave)端控制台输出如下所示:

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值