JMeter 报告监听器导入.jtl结果文件报错解决方案
JMeter 报告监听器导入.jtl结果文件报错解决方案
by:授客 QQ:1033553122
1. 问题描述
把jmeter压测时生成的 .jtl结果文件导入监听器报告中,弹出如下错误提示 error loadding results file -see log file


2.
原因分析与解决方案
打开logger view,查看出错日志,下,提示没有足够的列用于解析

文件比较大,windows下查看打不开,,所以在Linux上用vim命令打开,定位到那行,结果发现如下截图,数据缺失导致

JMeter解析
.jtl文件时,如果报错,那么仅仅会统计报错之前的记录,所以即便是出错了,也可以看到部分统计数据,如果数据缺失行为文件最后一行,那还好,基本不太影响,但是如果数据缺失行出现在开头或者中简位置,则会很影响统计结果
解决方案
方案1,linux上直接编辑,去掉数据缺失行记录,导入后没再报错


方案2
如果数据缺失行记录比较多,那么行一就难办了,得不断的去试才知道哪里出错了,可以考虑代码遍历,不过文件大的话,也挺耗费时间的
#!/usr/bin/env/
python
# -*- coding:utf-8
-*-
__author__ =
'shouke'
class
JtlDataParser:
def
__init__(self):
pass
def
parse_jtl_data(self):
with
open('E:/PerformanceTest/result.jtl', 'r', encoding='utf-8') as
f1:
with
open('E:/PerformanceTest/dirty.jtl', 'w', encoding='utf-8') as
f2:
f3
= open('E:/PerformanceTest/newResult.jtl', 'w',
encoding='utf-8')
count_for_normal
= 0
count_for_dirty
= 0
for
line in f1:
temp
= line.split(',')
if
len(temp) != 16: # 默认.jtl结果文件,每行包含16个逗号分隔的值
f2.write(line)
f2.flush()
count_for_dirty
+= 1
print('写入数据缺失行:',
count_for_dirty)
else:
f3.write(line)
f3.flush()
count_for_normal
+= 1
print('已写入正常数据行:',
count_for_normal)
f2.write('正常数据行总数:%s'
% str(count_for_normal))
f3.write('数据缺失行总数:%s'
% str(count_for_dirty))
f3.close()
JtlDataParser().parse_jtl_data()
最后说明
根据JMeter聚合报告生成原理来看,不管是使用 方案1
还是 方案2,如果数据缺失行、数据格式不对的数据行,数量比较多的话,会很影响统计结果,暂时没有好的解决方案
JMeter 报告监听器导入.jtl结果文件报错解决方案的更多相关文章
- 导入JSONPathExtractorExample.jmx文件报错,导不进去
导入之前写的JSONPathExtractorExample.jmx文件,导入不进来,报如下错,百度搜索说是缺少jar包 复制别人的信息如下 有的时候我们会参考别人的jmx文件,但是在导入的时候会报错 ...
- Maven无法导入插件,pom文件报错
最近在使用IDEA导入开源项目bootshiro,更新依赖的时候,发现有些插件无法导入,以致于pom文件一直报找不到该插件的错误 一开始就网上各种百度,无论怎么更换阿里云的镜像都导不进,最后想着试试自 ...
- myeclipse中导入的js文件报错(出现红叉叉,提示语法错误)
为了做一个页面特效,导入了一个jquery文件,怎想,myeclipse竟然报错说是语法错误,但是这个js文件我是从官网上下载的,不应该出错才对,百度谷歌之后终于找到了解决办法: 选中报错的js文件, ...
- MyEclipse10中导入的jquery文件报错(出现红叉叉,提示语法错误)
为了做一个页面特效,导入了一个jQuery文件,怎想,myeclipse竟然报错说是语法错误,但是这个js文件我是从官网上下载的,不应该出错才对,百度谷歌之后终于找到了解决办法: 选中报错的js文件, ...
- 关于maven导入工程pom文件报错问题及解决
pom文件头报错 1.导入maven文件,经常遇到表头出错问题.报错:Failure to transfer org.apache.maven.shared:maven-filtering:pom:1 ...
- Spring MVC实现上传文件报错解决方案
报错代码: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.sp ...
- myeclipse9中导入的jquery文件报错(出现红叉叉,提示语法错误)
选中报错的js文件, 右键选择 MyEclipse-->Exclude From Validation : 然后继续右键执行MyEclipse-->Run Validation 即可
- MyEclipse导入jquery等文件报错的解决方案
1.选中报错的jquery文件例如“jquery-1.8.0.min.js”. 2.右键选择 MyEclipse-->Exclude From Validation . 3.再右键选择 MyEc ...
- SQLServer导入大sql文件报错 对 COM 组件的调用返回了错误 HRESULT E_FAIL。 (mscorlib)
打开cmd执行(d:\script.sql为sql文件位置): sqlcmd -S 127.0.0.1 -U sa -P sa -i d:\script.sql From:https://ww ...
随机推荐
- Debian/Ubuntu清理硬盘空间的8个技巧
1. 删除残余的配置文件 通常Debian/Ubuntu删除软件包可以用两条命令 sudo apt-get remove <package-name> sudo apt-get purge ...
- 转载 Flask中客户端 - 服务器 - web应用程序 是如何处理request生成response的?
文章转载自https://blog.csdn.net/weixin_37923128/article/details/80992645 , 感谢原作者 当客户端向服务器发送一个请求时,服务器会将请求转 ...
- SpringBoot2.1整合finereport10(帆软报表)
最近,公司采购了帆软的系统,领导安排要与公司的SpringBoot框架进行整合.费了一番牛劲,终于整合成功,下面分享一下我的经验. 首先,我的开发环境是Intellij IDEA,使用的SpringB ...
- 课程五(Sequence Models),第三周(Sequence models & Attention mechanism) —— 0.Practice questions:Sequence models & Attention mechanism
- mysql 开发基础系列6 数值与日期函数
一. 数值函数 1. abs(x) 返回x的绝对值 SELECT ABS(-0.8),ABS(0.8); 2.ceil(x) 返回大于x的最大整数 SELECT CEIL(-0.8),CEIL(0. ...
- 如何在mpvue下收集小程序的formId
什么是formId formId是小程序可以向用户发送模板消息的通行证,简单而言,你只有获取到formId,把它交给后台,后台同学才能向用户发送通知消息,而这个通行证的有效期只有七天.这是微信为了防止 ...
- Java 容器源码分析之 TreeMap
TreeMap 是一种基于红黑树实现的 Key-Value 结构.在使用集合视图在 HashMap 中迭代时,是不能保证迭代顺序的: LinkedHashMap 使用了双向链表,保证按照插入顺序或者访 ...
- python 要掌握面向对象,你得会做这些题
1,面向对象三大特性,各有什么用处,说说你的理解. 继承:解决代码重用问题 多态:多态性,可以在不考虑对象类型的情况下而直接使用对象 封装:明确的区分内外,控制外部对隐藏属性的操作行为,隔离复杂度 2 ...
- 定时备份 MySQL 并上传到七牛
多数应用场景下,我们需要对重要数据进行备份.并放置到一个安全的地方,以备不时之需. 常见的 MySQL 数据备份方式有,直接打包复制对应的数据库或表文件(物理备份).mysqldump 全量逻辑备份. ...
- μC/OS-II 任务的同步与通信 --- 信号量
任务间通信 系统中的多个任务在运行时,经常需要互相无冲突地访问同一个共享资源,或者需要互相支持和依赖,甚至有时还要互相加以必要的限制和制约,才保证任务的顺利运行.因此,操作系统必须具有对任务的运行进行 ...