错误的图形JMeter

92dk7w1h  于 2023-10-20  发布在  其他
关注(0)|答案(1)|浏览(86)

我正在测试一个带缓存的微服务。这个特殊测试的想法是在性能稳定后清除该高速缓存,以查看访问数据库时它是如何变差的。
问题是,正如你在终端日志图像中看到的,从2:09到6:09,误差为0%。
在瞬间6:09,该高速缓存被清除,从那里错误%上升,直到它在最后两个读数中返回到0%。
Terminal logs
正因为如此,图形不应该显示2:09到6:09之间的错误,但事实并非如此。
从8:54到8:59的每秒响应代码的曲线图中可以看出,几乎出现直线,这不应该是这种情况,因为没有错误。错误应该只出现在8:52到8:54以及8:59以后。
Response Codes Per Second
这是什么原因呢?这是因为颗粒度吗?有什么办法可以解决吗?

lskq00tm

lskq00tm1#

我无法使用最新的稳定JMeter 5.6.2重现您的问题
出于演示目的,我使用了JSR223 Sampler和以下Groovy code

if ((System.currentTimeMillis() - (vars.get('TESTSTART.MS') as long)) < 60000) {
    SampleResult.setSuccessful(false)
    SampleResult.setResponseCode('500')

}
else if ((System.currentTimeMillis() - (vars.get('TESTSTART.MS') as long)) < 120000) {
    SampleResult.setSuccessful(true)
    SampleResult.setResponseCode('200')
}

else if ((System.currentTimeMillis() - (vars.get('TESTSTART.MS') as long)) < 180000) {
    SampleResult.setSuccessful(false)
    SampleResult.setResponseCode('400')
}

它的作用是:

  • 在第一分钟内,所有请求都失败,状态代码为500
  • 在第二分钟内,所有请求都通过,状态代码为200
  • 在第三分钟,所有请求都失败,状态代码为400

摘要器输出:

./jmeter -n -t test.jmx -f -l result.jtl -e -o dashboard
Creating summariser <summary>
Created the tree successfully using test.jmx
Starting standalone test @ October 13, 2023 10:50:55 AM CEST (1697187055335)
Waiting for possible Shutdown/StopTestNow/HeapDump/ThreadDump message on port 4445
summary +      4 in 00:00:04 =    0.9/s Avg:  1103 Min:  1004 Max:  1399 Err:     4 (100.00%) Active: 1 Started: 1 Finished: 0
summary +     29 in 00:00:29 =    1.0/s Avg:  1008 Min:  1005 Max:  1016 Err:    29 (100.00%) Active: 1 Started: 1 Finished: 0
summary =     33 in 00:00:34 =    1.0/s Avg:  1020 Min:  1004 Max:  1399 Err:    33 (100.00%)
summary +     30 in 00:00:30 =    1.0/s Avg:  1006 Min:  1002 Max:  1014 Err:    25 (83.33%) Active: 1 Started: 1 Finished: 0
summary =     63 in 00:01:04 =    1.0/s Avg:  1013 Min:  1002 Max:  1399 Err:    58 (92.06%)
summary +     30 in 00:00:30 =    1.0/s Avg:  1007 Min:  1003 Max:  1016 Err:     0 (0.00%) Active: 1 Started: 1 Finished: 0
summary =     93 in 00:01:34 =    1.0/s Avg:  1011 Min:  1002 Max:  1399 Err:    58 (62.37%)
summary +     30 in 00:00:30 =    1.0/s Avg:  1006 Min:  1002 Max:  1012 Err:     5 (16.67%) Active: 1 Started: 1 Finished: 0
summary =    123 in 00:02:05 =    1.0/s Avg:  1010 Min:  1002 Max:  1399 Err:    63 (51.22%)
summary +     29 in 00:00:29 =    1.0/s Avg:  1007 Min:  1002 Max:  1016 Err:    29 (100.00%) Active: 1 Started: 1 Finished: 0
summary =    152 in 00:02:34 =    1.0/s Avg:  1009 Min:  1002 Max:  1399 Err:    92 (60.53%)
summary +     26 in 00:00:26 =    1.0/s Avg:  1007 Min:  1003 Max:  1019 Err:    25 (96.15%) Active: 0 Started: 1 Finished: 1
summary =    178 in 00:03:00 =    1.0/s Avg:  1009 Min:  1002 Max:  1399 Err:   117 (65.73%)
Tidying up ...    @ October 13, 2023 10:53:56 AM CEST (1697187236470)
... end of run

使用Response Times Over Time侦听器从.jtl结果文件生成的图表准确地显示了响应时间分布。

对于Transactions Per Second也是一样:

所以你可能会看到错误的.jtl文件,即。具有先前的陈旧数据。

相关问题