我有一个JMeter测试,我已经使用超过6个月。 目前我一直在非GUI模式下通过命令行(无ANT)运行它。
这是我通过命令行运行时所做的事情
"%JMETER_HOME%\bin\jmeter.bat" -n -t %TESTNAME% -p %PROPPATH% -l %RESULTPATH% -j %LOGPATH% -Djmeter.save.saveservice.output_format=xml -Djmeter.save.saveservice.thread_counts=true
我最近想过使用Ant。每当我运行相同的测试时(当然测试同一个应用程序) - 我得到以下错误。
Non HTTP response code: org.apache.http.NoHttpResponseException - Non HTTP response message: The target server failed to respond
应用程序没有问题,应用程序运行正常 - 日志中没有例外。 如果我不使用Ant - 错误就会消失。我一次又一次地尝试 - w / Ant&没有蚂蚁 - 5次。 当我使用Ant时,我会始终得到错误。
我总是以XML格式保存结果,传递相同的属性文件。没有其他差异。
这是来自我的Ant构建文件。
<jmeter
jmeterhome="${jmeter.home}"
testplan ="${test.path}/${test.name}.jmx"
resultlog="${test.result.path}/${test.name}.jtl"
jmeterproperties="${test.properties}/${property.file.name}.properties"
jmeterlogfile="${test.result.log}/jmeter.log"
>
<property name="jmeter.save.saveservice.output_format" value="xml"/>
<property name="jmeter.save.saveservice.assertion_results" value="all"/>
<property name="jmeter.save.saveservice.thread_counts" value="true"/>
<property name="jmeter.save.saveservice.bytes" value="true"/>
<property name="file_format.testlog" value="2.1"/>
<property name="jmeter.save.saveservice.response_data.on_error" value="false"/>
<property name="includecontroller.prefix" value="${basedir}/test/modules/"/>
</jmeter>
我不知道这里有什么问题。
此外,我在Ant面临的问题仅在运行15分钟后才会发生。不是马上。看起来像记忆相关的东西......不确定。
修改::
正如迪米特里所说,这是我有的可用记忆
命令行= 499Mb
Ant = 247Mb
机器中的环境变量
ANT_OPTS = -Xmx1024m -Xms512m
这是我用200个用户运行测试的机器细节。
答案 0 :(得分:1)
我的期望是你在命令行模式中缺少以下节:
jmeterproperties="${test.properties}/${property.file.name}.properties"
我敢打赌主机是在“.properties”文件下定义的,而命令行模式下的JMeter不会读取此文件。
等效命令行将是-p
或-q
选项。
-p, --propfile <argument>
the jmeter property file to use
-q, --addprop <argument>
additional JMeter property file(s)
或者,您可以通过-J
命令行参数将属性设置为
jmeter -Jproperty1name=property1value -Jproperty2name=property2value -n -t ...
第三个选项是将所有内容放在jmeter.properties
或user.properties
文件中,该文件位于JMeter安装的/ bin文件夹下。
有关详细信息,请参阅Apache JMeter Properties Customization Guide。