JMeter的JTL大文件解析
1.背景
不知大家在使用JMeter工具进行性能测试时,是否遇到过JTL结果文件过大导致GUI页面长时间解析无响应的问题。这种情况往往出现在稳定性测试场景下,此时的JTL文件大小可能已经达到G级别了。网上查阅了很多资料,有说改动jmeter.properties相关配置,能改变JTL记录间隔进而变相减小JTL文件(我没去验证,感觉没从根上解决问题)。终于在网上找到了一个能解析大JTL文件的工具(一个jar包),此jar包是TEST FAN的人开发的(使用cmd窗口会输出logo),使用确实解析出了结果,感觉我的问题已经解决了。多次使用后发现,此jar包有好多BUG(注意并不是说他们写的不好,也可能是我当时下载的jar包版本不是最新版)。
2.方法
我反编译了此jar包的源码,对源码进行了解读。读懂源码后,我借鉴了他们解析JTL文件的思路。重新编写了一个工具,在编写的过程中更多的是结合了JMeter的Aggregate Report底层源码来编写,使解析出的结果与Aggregate Report一致,同时图表展示也进行了丰富,自己经过严格测试相对完美版本(AggregateReport-2.0.jar )已经投入项目使用。
3.使用
- java -jar AggregateReport-2.0.jar

首次不知道jar包怎么使用,可以使用此命令查询具体使用方法。上图看可以看出参数异常了,需要检查参数(缺少了JTL文件及采样频率)
- 实战

说明:默认在当前目录下生成以AggregateGraphReport开头的文件夹,打开文件夹里的index.html即可(推荐使用Google Chrome),执行时我加了些jvm参数(可不加),建议使用64位JDK,本次解析的JTL大小是2.7G,解析此文件总耗时1分46秒,感觉还可以。。。
4.效果图



说明:其实没啥可说的了,大家看图吧!某时刻图形的放大缩小、图片下载/打印等功能就不演示了。
JMeter的JTL大文件解析的更多相关文章
- Android多线程下载大文件解析
1.多线程介绍 用过迅雷的同学都知道.迅雷有个功能叫做多线程.另一个叫离线下载,我们这里重点介绍一下多线程下载.多线程,顾名思义就是非常多歌线程同一时候在执行,为什么要提出多线程这个概念呢?由于有时候 ...
- excel 大文件解析原理实现
问题 目前的excel 不像之前的excel了可以支持的数据量更大,可以支持支持1048576行,16384列. 之前使用poi读取,直接报错,使用excel 事件的方式读取,还有不少的bug,关键是 ...
- C#windows桌面应用小程序制作——大文件数据分段解析存储
现在的任务就是做一个大文件解析的桌面应用小程序,具体需求就是:将一个很大的文件里的数据按一定标志拆分然后分别保存到某个文件夹下面. 解析的文件内容为以下内容: windows 应用小程序界面 具体代码 ...
- jmeter之jtl文件解析
我们知道命令行的方式执行完成jmeter后,会生成jtl文件,里面打开后就是一行行的测试结果, <httpSample t="1" lt="1" ts=& ...
- jmeter之jtl文件解析(生成测试报告)
我们知道命令行的方式执行完成jmeter后,会生成jtl文件,里面打开后就是一行行的测试结果, <httpSample t="1" lt="1" ts=& ...
- jmeter之jtl文件解析(生成测试报告)命令行
jmeter -g TestReport201905060302.jtl -o ./report 1:命令行模式将jtl转成测试图表-注意此方法只使用jmeter3.0以后版本 第一种:在测试过程中将 ...
- JMeter 报告监听器导入.jtl结果文件报错解决方案
JMeter 报告监听器导入.jtl结果文件报错解决方案 by:授客 QQ:1033553122 1. 问题描述 把jmeter压测时生成的 .jtl结果文件导入监听器报告中,弹出如下错误提示 ...
- JTLParser-linux上jmeter的jtl文件二次分析
解析JMeter的JTL文件 2013年01月30日 ⁄ 综合 ⁄ 共 1452字 ⁄ 字号 小 中 大 ⁄ 评论关闭 http://code.google.com/p/xtoolkit/wiki ...
- XMLREADER/DOM/SIMPLEXML 解析大文件
DOM和simplexml处理xml非常的灵活方便,它们的内存组织结构与xml文件格式很相近.但是同时它们也有一个缺点,对于大文件处理起来力不从心,太耗内存了. 还好有xmlreader,基于流的解析 ...
随机推荐
- elasticsearch与ms sql server数据同步
MS SQL Server Download Elasticsearch Install Elasticsearch Follow instructions on https://www.elasti ...
- Java底层技术系列文章-线程池框架
一.线程池结构图 二.示例 定义线程接口 public class MyThread extends Thread { @Override publicvoid run() { System.o ...
- Connecting to the Network
This lesson shows you how to implement a simple application that connects to the network. It explain ...
- MyBatis从入门到精通:insert用法
2.4.1 简单的insert方法 1.接口类中的方法: int insert(SysUser sysUser); 2.映射文件中的修改: <!-- insert标签包含如下的属性: id: p ...
- Node.js socket 双向通信
使用场景: 聊天室:大量数据常驻交互: 技术栈: Node.js, Vue.js || 原生JS 服务端代码: const app = require('http').createServe ...
- 关于Redis的几件小事 | 高并发和高可用
如果你用redis缓存技术的话,肯定要考虑如何用redis来加多台机器,保证redis是高并发的,还有就是如何让Redis保证自己不是挂掉以后就直接死掉了. redis高并发:主从架构,一主多从,一般 ...
- JS+Jquery自定义格式导出HTML为Word(下列插件同样可以用于Excel导出)
这里的word导出主要采用了jquery.wordexport.js.FileSaver.js,做功能之前我也是找了很多网上的资料,里面涉及到js导出word的用的都是这个插件,只是在自定义样式这一块 ...
- 关于ArcGIS api for JavaScript的一些内容
2018-3-19 ArcGIS api for JavaScript 在3.4之后就已经抛弃了过时的写法,采用了AMD的写法,AMD规范即异步模块加载机制,这种规范让JS就像其它面向对象语言(比如J ...
- tcp 3次握手四次挥手
转载link:http://www.jianshu.com/p/9968b16b607e 最近在复习计算机网络,看到TCP这一章,总结一下. 建立TCP需要三次握手才能建立,而断开连接则需要四次握手. ...
- Go语言圣经习题练习_1.5. 获取URL
练习 1.7: 函数调用io.Copy(dst, src)会从src中读取内容,并将读到的结果写入到dst中,使用这个函数替代掉例子中的ioutil.ReadAll来拷贝响应结构体到os.Stdout ...