性能测试基础---ant集成2

使用jmeter报错时

-bash: jmeter: Permission denied

chmod +x bin/jmeter*

·自定义报告模板:
因为默认的ant提供的报告模板,是没有tps和90%line这样的数据。
但是在实际工作中,这两个统计数据又是必须的,那么我们可以通过自定义(修改)的方式来进行修改,达到我们的目的。

ant的报告模板采用的xlst语法来对jmeter的xml类型的结果进行的操作。中间元素定位的方式是和xpath基本一致。

·TPS:每秒事务数。
工具是如何计算的每秒事务数呢?
TPS=总的事务数/总的执行时间(场景时间)

总的执行时间=最后的启动时间-最开始的启动时间+最后一个请求的响应时间。


·在Jmeter的结果文件jtl中,t属性表示请求的响应时间,ts属性表示请求的开始时间。

操作:
1、添加Summary的列名。
<!-- add -->
<th>Last Time</th>
<th>每秒事务数</th>

2、添加对应数据。
获取场景开始时间。表示将所有的ts属性的值传入
<xsl:variable name="startTime">
<xsl:call-template name="sTime">
<xsl:with-param name="nodes" select="/testResults/*/@ts" />
</xsl:call-template>
</xsl:variable>

template模板如下:
<xsl:template name="sTime">
<xsl:param name="nodes" select="/.." />
<xsl:choose>
<xsl:when test="not($nodes)">NaN</xsl:when>
<xsl:otherwise>
<xsl:for-each select="$nodes">
<xsl:sort data-type="number" />
<xsl:if test="position() = 1">
<xsl:value-of select="number(.)" />
</xsl:if>
</xsl:for-each>
</xsl:otherwise>
</xsl:choose>
</xsl:template>

添加数据列。
<!-- lastTime -->
<td align="right">
<xsl:call-template name="display-time">
<xsl:with-param name="value" select="$lastTime" />
</xsl:call-template>
</td>
<!-- QPS -->
<td align="right">
<xsl:call-template name="display-tps">
<xsl:with-param name="value" select="$tps" />
</xsl:call-template>
</td>

·90%line这样的数据。
这个叫用户体验数据。百分比可以修改。
90%line=将所有的响应时间数据,从小到大排列,取位置为90%的值。

因此本质上也是获取响应时间,只是要获取特定位置的数据,和获取最小和最大响应时间是接近的。
区别在于:
最小响应时间:位置是1
90%line响应时间:位置是 round($allcount*0.9)

原文地址:https://www.cnblogs.com/wendy-0901/p/11898624.html