JMeter中的第90百分位精度

JMeter中的第90百分位精度,jmeter,Jmeter,我在JMeter中看到了一些“奇怪”的结果,当涉及到计算测试的第90个百分位响应时间时。我有一个一小时测试的results.jtl,每个事务大约有20000个数据点。如果我使用该文件生成一个仪表板 jmeter -g results.jtl -o c:\temp\report 我可以看到我的第90个响应时间是2261.10。如果我通过JMeter中的聚合报告(后测试)查看相同的results.jtl文件,我得到了2260。我还使用了Excel中的percentile函数,它给出了2260.3(

我在JMeter中看到了一些“奇怪”的结果,当涉及到计算测试的第90个百分位响应时间时。我有一个一小时测试的results.jtl,每个事务大约有20000个数据点。如果我使用该文件生成一个仪表板

jmeter -g results.jtl -o c:\temp\report
我可以看到我的第90个响应时间是2261.10。如果我通过JMeter中的聚合报告(后测试)查看相同的results.jtl文件,我得到了2260。我还使用了Excel中的percentile函数,它给出了2260.3(与聚合报告相关联)。第95百分位是相似的,我从三次计算中分别得到3551.50、3549和3549.3


还有人看到过报告之间的这种差异吗?我能做些什么来纠正仪表板吗?

这些差异是由于JMeter在计算报告时所做的近似值造成的

这可以通过增加此属性的值进行调整:

jmeter.reportgenerator.statistic_window=20000

请参阅此和此博客:


默认情况下,JMeter尽量不消耗太多内存。

我想您不能推荐一个值吗?由于这是在一个相当大的盒子上运行的,经过测试,我不必担心它占用太多内存,我添加了几个零(增加到2000000),它不会改变值。你确定你的更改被考虑在内了吗?检查日志。您是如何更改的?我将该行从reportgenerator.properties复制到user.properties,并将其更新为更大的值(删除注释哈希)。但是没有提到在日志中设置的值,或者设置为我给它的值,或者设置为默认值。每次我从命令行运行报告时,确保没有其他Java进程可能做了一些“奇怪”的事情(例如缓存属性文件或在其他位置查找)。请仔细检查,因为这已在写我添加的博客的jmeter用户邮件列表中得到确认。