解析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中沉浸式状态栏的应用

    在Android5.0版本后,谷歌公司为Android系统加入了很多新特性,刷新了Android用户的体验度.而其中的一个新特性就是沉浸式状态栏.那么问题来了,很多非移动端的小伙伴就要问了,什么是沉浸 ...

  2. chartcontrol(统计坐标图形控件)

    统计图形 把控件拖放到界面会弹出下图 图形共分八系列:Bar Series,Point and line Series,pie Series,Funnel Series,Area  Series,Ra ...

  3. 通过房价预测入门Kaggle

    今天看了个新闻,说是中国社会科学院城市发展与环境研究所及社会科学文献出版社共同发布<房地产蓝皮书:中国房地产发展报告No.16(2019)>指出房价上涨7.6%,看得我都坐不住了,这房价上 ...

  4. MySQL 几种调式分析利器

    目录 pstack gdb strace perf pstack 获取堆栈信息 问题线程的定位 负载较低 mysql_pid=4522 pstack $mysql_pid>pstack.info ...

  5. Java中将List转成逗号数组的方案

    说明:逗号字符串转成数组或者List都是可以的,反过来依然可行:但是如果是List<String>转List<Integer>,基本误解,在Java 7只能for循环,如果在J ...

  6. mybatis表名反射实体

    package com.eshore.wbtimer.executor.service.impl; import com.baomidou.mybatisplus.mapper.EntityWrapp ...

  7. mySql 主从复制linux配置

    总结: 主库(192.168.1.251): /etc/my.cnf.d/server.cnf [mysqld] log-bin=mysql-bin server-id=1 从库(192.168.1. ...

  8. Android二维码工具zxing使用

    二维码在我们生活中随处可见.在我眼里简直能够用"泛滥"来形容啦.那怎样在我们Android项目中扫描识别二维码或生成二维码图片呢? 我们通常使用的开源框架是zxing.在githu ...

  9. 百度地图SDK调试SDKInitializer.initialize(getApplicationContext())错误

    首先描写叙述下问题出现的原因.開始的时候写了一个百度地图SDK的demo来试功能,由于最開始用的是Eclipse自带的AVD来调试,一切正常. 都能够正常验证,可是由于受不了重复的重新启动AVD设备, ...

  10. [Python-tools]defaultdict的使用场景

    Python标准库中collections对集合类型的数据结构进行了非常多拓展操作.这些操作在我们使用集合的时候会带来非常多的便利.多看看非常有优点. defaultdict是当中一个方法,就是给字典 ...