ant运行jmeter的html结果与jmeter自运行的聚合报告结果各个参数相差很大

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了ant运行jmeter的html结果与jmeter自运行的聚合报告结果各个参数相差很大相关的知识,希望对你有一定的参考价值。

我用ant运行jmeter得到html网页结果,不动jmeter任何参数点击jmeter运行得到的聚合报告与html结果进行对比,各个参数相差很大,其中请求数在线程很少运行时间不长的情况下是一样的,一旦线程增多或是运行时间变长,html网页中的时间会比聚合报告的时间显示要大一点,特别是吞吐量有时差距html会是聚合报告的两倍,各位大神求解答,此问题困扰无比

  Ant是一个类似make的工具,用来编译/运行/测试java程序。 构建、包装和发布过程中几乎每一件事都可以由Ant的任务来处理。
  JMETER的测试结果一般生成的是一份聚合报告,如果想用ANT生成具体的测试报告,需要这样的一个jar包 ant-jmeter-1.0.9.jar 里面提供的一个JMeterTask的类来运行JMTER的测试脚本,生成jtl的结果文件,然后用XSLT来把.jtl的结果文件转化为.html形式的结果报告。
参考技术A 我也是这样,请问后来解决了吗? 参考技术B <?xml version="1.0" encoding="UTF8"?>

<project name="Jmeter-TestCase" default="run" basedir=".">
<tstamp>
<format property="time" pattern="yyyyMMddhhmm" />
</tstamp>

<!--jmeter的目录-->
<property name="jmeter.home" value="C:\apache-jmeter-3.0" />
<property name="jmeter.result.jtl.dir" value="C:\apache-jmeter-3.0\TestCase\report\jtl" />
<property name="jmeter.result.html.dir" value="C:\apache-jmeter-3.0\TestCase\report\html" />

<property name="ReportName" value="TestReport" />
<property name="jmeter.result.jtlName" value="$jmeter.result.jtl.dir/$ReportName$time.jtl" />
<property name="jmeter.result.htmlName" value="$jmeter.result.html.dir/$ReportName$time.html" />

<target name="run">
<antcall target="test" />
<antcall target="report" />
</target>

<target name="test">
<taskdef name="jmeter" classname="org.programmerplanet.ant.taskdefs.jmeter.JMeterTask" />
<jmeter jmeterhome="$jmeter.home" resultlog="$jmeter.result.jtlName">
<testplans dir="C:\apache-jmeter-3.0\bin\templates" includes="*.jmx" />
<property name="jmeter.save.saveservice.output_format" value="xml"/>
</jmeter>
</target>
<path id="xslt.classpath">
<fileset dir="$jmeter.home/lib" includes="xalan*.jar"/>
<fileset dir="$jmeter.home/lib" includes="serializer*.jar"/>
</path>

<!--jmeter謩xml模靴-->
<target name="report">
<xslt
classpathref="xslt.classpath"
force="true"
in="$jmeter.result.jtlName"
out="$jmeter.result.htmlName"
style="$jmeter.home/extras/jmeter-results-detail-report_21.xsl">
<param name="dateReport" expression="$report.datestamp"/>
</xslt>
<copy todir="$jmeter.result.html.dir">
<fileset dir="$jmeter.home/extras">
<include name="collapse.png" />
<include name="expand.png" />
</fileset>
</copy>
</target>

</project>

ANT / JMeter - 长时间运行的测试 - 停止写入摘要结果

【中文标题】ANT / JMeter - 长时间运行的测试 - 停止写入摘要结果【英文标题】:ANT / JMeter - long running test - stops writing the summariser results 【发布时间】:2015-07-15 15:34:22 【问题描述】:

我有一个 WebService,我每 2 秒点击一次该 WebService,有 1 个用户连续 5 天使用 jmeter。 我使用 ANT 调用 JMeter。我在调用 jmeter 时使用 ANT 为 jmeter 设置了 4GB 堆大小。我没有为 ANT 设置任何 ANT_OPTS。 (我不确定 ANT 将采用的默认堆大小)

当我开始 jmeter 测试时,它工作正常。我每 30 秒在控制台中获得 30 次 jmeter summariser 输出,这很棒。

问题是 - 3 或 4 天后,它停止在控制台中写入摘要结果(前 3 天它工作得非常好。没有问题)。 ANT 构建尚未完成。它仍在运行。 看起来 jmeter 停止工作/挂起。但我不认为它使用 4GB,因为我看到更多可用内存。我在任何地方的日志中都没有看到任何异常。如果我尝试访问它,API 仍然运行良好。 ANT / jmeter有问题吗?我应该为这个长期运行的 ANT 目标分配更多空间吗?

试了2次。第一次运行了 3 天,没有任何问题。第二次几乎 4 天没有任何问题。但它不会连续运行 5 天。

注意:

与 WebService 服务器无关。 jmeter 机器有 16GB 内存。除了这个测试(ANT & jmeter),我不运行其他任何东西。

我在 JMeter 中使用 SOAP/XML RPC 采样器

【问题讨论】:

对我的回答有任何反馈吗? 【参考方案1】:

您是否设置了 HTTP 请求:

连接超时

响应超时

使用 HTTP 请求默认值进行设置,以便将它们应用于所有请求:

http://jmeter.apache.org/usermanual/component_reference.html#HTTP_Request_Defaults

您的底层服务器可能遇到问题或网络遇到问题。

如果您没有设置其中之一,那么在这种情况下,JMeter 将无限等待(默认情况下)等待永远不会出现的响应,给您的印象是它正在挂起,但事实并非如此。

【讨论】:

正如我所说,这不是服务器问题,因为它运行良好。什么是默认响应超时? jmeter 会等待超过 1 天的响应吗? JMeter 默认无限等待 认真的吗?我以为 300 秒是默认值!你知道房产名称吗? 我认为是这个 - httpclient.timeout 对不起,我在我的问题中提供了错误的信息,即它是一个 Web 服务。我发送 SOAP/XML RPC 请求。但我认为我仍然可以使用相同的属性 - httpclient.timeout 来设置超时。我会检查。但我会在 5 天后知道答案:)。

以上是关于ant运行jmeter的html结果与jmeter自运行的聚合报告结果各个参数相差很大的主要内容,如果未能解决你的问题,请参考以下文章

jmeter+ant+jenkins的配置

第二篇:JMeter+Ant(报告优化)

JMeter——JMeter之ant运行脚本

JMeter——JMeter之ant运行脚本

在 Jmeter 的分布式负载测试中使用 Apache ANT 生成 HTML 报告

jenkin运行jmeter自动化脚本(jenkins+jmeter+ant)