Closed smooth00 closed 6 years ago
是这样的,因为可能存在进程突然关闭,然后csv结果文件不完整的情况。 并不是说这些数据在操作系统内存中没有及时入磁盘,而是真的就是少这一部分数据。
这一行数据,因为不完整,肯定是脏数据了,删掉是没办法也是没问题的。 即便是留着也得不到什么。
如果不是脏数据,那么我考虑到性能测试场景庞大的请求数量,一行带来的影响是极微弱的。
当前没有检测最后一行是否是脏数据的代码手段,因为感觉不必要。
如果非要纠结这一行数据的完整性,希望你能提供一个合理的场景和理由。
那这个情况可以接受,一般除了接口测试,其他场景允许最后一条记录丢失。 顺便再提个建议,不知道合不合理,就是启动节点的代码可以微调一下。就是强制创建用例目录,如mkdir -p /bin/stressTestCases,还真是容易忘记这一步,导致节点出问题。 另外就是建议通过指定hostname来启动节点(避免多网卡或是节点机器hostname不明确的问题),如 "sh " + "../jmeter-server -Djava.rmi.server.hostname="+slave.getIp()
那这个情况可以接受,一般除了接口测试,其他场景允许最后一条记录丢失。 顺便再提个建议,不知道合不合理,就是启动节点的代码可以微调一下。就是强制创建用例目录,如mkdir -p /bin/stressTestCases,还真是容易忘记这一步,导致节点出问题。 另外就是建议通过指定hostname来启动节点(避免多网卡或是节点机器hostname不明确的问题),如 "sh " + "../jmeter-server -Djava.rmi.server.hostname="+slave.getIp()
嗯,这个是性能测试报告,接口测试报告也不用这个呀。 这个也不是接口测试平台。
mkdir是可以加的。 我印象中是自动mkdir的,这个我要确认一下吧。
hostname的设置,其实Jmeter分布式节点脚本都是要设置的呀,在jmeter-server脚本里,是 [//] # One way to fix this is to define RMI_HOST_DEF below RMI_HOST_DEF=-Djava.rmi.server.hostname=xx.xx.xx.xx 默认应该是注释的,要自己写一下。
有个现象,就是发送的请求数和报告输出的请求数量是不一致的,报告输出会少一个(少最后一个请求)。我无论是用平台节点测试,还是用平台的本地测试,结果都是这样。 看了一下源码,发现有段话是 ”测试报告文件如果最后一行不完整,会报生成报告的错误。所以每次生成报告之前,删除最后一行记录,让测试报告生成没有这类文件不完整的错误。“。如果真是这样,那这还是合理的测试报告吗。
我修复了一下这个问题,你有时间验证一下。
挺好,比我想像的严谨多了,我原来的想法是split(",")后判断列数是否小于16。如果还要更严谨,分隔符也可以不预设为“,”,可以用正则表达式split(",|\\t|\|")或是别的方式,当然这不是重点,只有到逼不得以一般很少人会去改变分隔符。
有个现象,就是发送的请求数和报告输出的请求数量是不一致的,报告输出会少一个(少最后一个请求)。我无论是用平台节点测试,还是用平台的本地测试,结果都是这样。 看了一下源码,发现有段话是 ”测试报告文件如果最后一行不完整,会报生成报告的错误。所以每次生成报告之前,删除最后一行记录,让测试报告生成没有这类文件不完整的错误。“。如果真是这样,那这还是合理的测试报告吗。