解析JMeter的JTL文件

http://code.google.com/p/xtoolkit/wiki/JTLParser

Introduction

当把JMeter使用命令行运行后,JMeter会把结果保存到一个指定文件中(使用 -l 参数指定)。这个文件记录了每条Query的响应时间、状态等,如:

<?xml version="1.0" encoding="UTF-8"?>
<testResultsversion="1.2">
<httpSamplet="232"lt="232"ts="1305880045755"s="true"lb="HTTP Request"rc="200"rm="OK"tn="CardEye 1-1"dt="text"by="2508"/>
</testResults>

这其中:

  • t 是该Query的响应时间
  • ts 是该Query的发送时间,以毫秒为单位
  • rc 是返回码

 

我这个JTLParser就是来解析这个文件,然后返回一些常用的性能结果指标,返回的性能指标有:

  • QPS:平均一秒内处理的Query数
  • Latency: 平均响应时间
  • 最大响应时间
  • Query Success Number:返回码是200的Query数
  • Query Failed Number:返回码不是200的Query数

 

下载地址

svn checkout http://xtoolkit.googlecode.com/svn/tags/JTLParser-0.1 JTLParser

Usage

java -jar JTLParser.jar 
 
--jtlFile JTLFile                      :需要解析的JTL文件
 
--percentFields PercentFields          :需要展示的不同百分比下的Query响应时间,使用逗号分割
 
--responseTimeFields ResponseTimeField:需要展示的不同响应时间段的Query数,使用逗号分割

默认使用

默认只要使用\-\-jtlFile接一个JTL文件就可以,可以得到类似如下的结果:

FROM:                   05/20/1104:27:25
END:                    05/20/1104:37:25
SendedQueryNumber:    11721
TotalSpendedTime(s):  599.72
QPS
:                    19.54
Latency(ms):            43
MaxResponseTime(ms):  403
QuerySuccessNumber:   11721
QueryFailedNumber:    0

展示不同百分比下的Query平均响应时间

运行类似:java -jar JTLParser.jar --jtlFile YourJTLFile --percentFields 40,70,80,90就可以得到如下结果:

40Percentile(ms):      17
70Percentile(ms):      30
80Percentile(ms):      35
90Percentile(ms):      39

展示的不同响应时间段的Query数

运行类似:java -jar JTLParser.jar --jtlFile YourJTLFile --responseTimeFields 30,40,50就可以得到类似如下结果:

Latency>=30(ms):      7665    65.40%
Latency>=40(ms):      6288    53.65%
Latency>=50(ms):      4951    42.24%
posted @ 2012-03-06 10:11  balaamwe  阅读(2547)  评论(2编辑  收藏  举报