解析JMeter的JTL文件

2013年01月30日 ⁄ 综合 ⁄ 共 1452字 ⁄ 字号    ⁄ 评论关闭
 

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%

JTLParser-linux上jmeter的jtl文件二次分析的更多相关文章

  1. jmeter之jtl文件解析

    我们知道命令行的方式执行完成jmeter后,会生成jtl文件,里面打开后就是一行行的测试结果, <httpSample t="1" lt="1" ts=& ...

  2. jmeter之jtl文件解析(生成测试报告)

    我们知道命令行的方式执行完成jmeter后,会生成jtl文件,里面打开后就是一行行的测试结果, <httpSample t="1" lt="1" ts=& ...

  3. 非GUI运行Jmeter,jtl文件没有响应数据的解决办法

    一.问题 Jmeter官方一直强调要在非GUI模式下运行Jmeter:Run your JMeter test in command-line non-GUI mode. 但在非GUI模式下运行生成的 ...

  4. 如何在SecureCRT中给linux上传和下载文件 安装redis

    首先建立文件 /download sz和rz命令无法用.则用以下1.和2.3步骤   需要上传或者下载,需要使用rz和sz命令.如果linux上没有这两个命令工具,则需要先安装.可以使用yum安装.运 ...

  5. 在Linux上使用PGP签名验证文件完整性

    文件在下载及存储过程中可能由于传输错误.硬件故障.文件系统错误等网络.硬件和软件方面的原因导致文件损坏,也可能在传输过程中受到攻击(如"中间人攻击")导致下载的文件被篡改或者下载到 ...

  6. 在SecureCRT中给linux上传和下载文件

    下载:sz中的s意为send(发送),告诉客户端,我(服务器)要发送文件 send to cilent,就等同于客户端在下载. 上传:rz中的r意为received(接收),告诉客户端,我(服务器)要 ...

  7. 使用apache-fileupload处理文件上传与上传多个文件 二(60)

    一 使用apache-fileupload处理文件上传 框架:是指将用户经常处理的业务进行一个代码封装.让用户可以方便的调用. 目前文件上传的(框架)组件: Apache----fileupload ...

  8. 如何在SecureCRT中给linux上传和下载文件

    方法/步骤     需要上传或者下载,需要使用rz和sz命令.如果linux上没有这两个命令工具,则需要先安装.可以使用yum安装.运行命令yum install lrzsz.   安装完成后就可以使 ...

  9. node.js的iconv模块----在linux上读取windows编码文件

    有时候我们在windows上会保存一些中文文字信息文件,然而由于编码集的差异,这文件在linux上显示为乱码,其中一种解决方法是node.js的iconv模块 var fs = require('fs ...

随机推荐

  1. android中添加只有border-left的样式

    如何在android中的边框添加只有左边边框有颜色的样式呢 1. 相应的drawable文件 <?xml version="1.0" encoding="utf-8 ...

  2. C# 根据生日获取年龄

    C# 根据生日获取年龄 根据生日计算出准确的年龄,不等于0时,返回的是岁,等于0时,返回的是天(以‘-’来区分) public static string GetAgeByBirth(string B ...

  3. 【面试】最容易被问到的N种排序算法!

    面试官:小明,是吧?你都知道哪些排序算法,哪几种是稳定排序? 小明:这个我有总结! 关于排序稳定性的定义 通俗地讲就是能保证排序前两个相等的数其在序列的前后位置顺序和排序后它们两个的前后位置顺序相同. ...

  4. 弹出层layer演示 以及在编写弹出层时遇到的错误

    实现的功能: 首先第一步 在官方下载layer的文件.layUI官网:http://layer.layui.com/     http://layer.layui.com/ layer文件的下载步骤如 ...

  5. jQuery使用on()绑定动态生成元素的事件无效

    jquery on()方法是jquery1.7+后才使用的 由于需求:动态添加了以下代码 <tr class="pj" data-val="no"> ...

  6. Java中ArrayList的初始容量和容量分配

    1.实例化ArrayList时默认不输入大小是10个,并且如果增加到11个时不会报错,会自动扩容. 2.获取指定索引的值时就必须保证ArrayList有这么多个. 3.推荐在new ArrayList ...

  7. Maven的构建/测试/打包

    继上一篇http://www.cnblogs.com/EasonJim/p/6809882.html使用Maven创建工程后,接下来是使用Maven进行构建/测试/打包. 在打包之前,先熟悉一下Mav ...

  8. Xcode搭建真机调试环境 图文实例

    本文介绍的Xcode搭建真机调试环境 图文实例,图文并茂,使我们学习起来更方便些,我们先来看内容. AD: 2013云计算架构师峰会超低价抢票中 Xcode搭建真机调试环境 是本文要介绍的内容,不多说 ...

  9. 在DevExpress GridControl中添加进度条控件 z

    首先可以使用 DevExpress GridControl 自带的进度条控件. 但是我要用一个方法来设置所有的单元格进度,而不是每个单元格都要设置一遍,同时我想要根据进度值不同,进度条显示不同的颜色. ...

  10. 投影纹理映射(Projective Texture Mapping) 【转】

    摘抄“GPU Programming And Cg Language Primer 1rd Edition” 中文名“GPU编程与CG语言之阳春白雪下里巴人”  投影纹理映射( Projective ...