如何在JMeter摘要中排除预热时间?

6

我有一个简单的JMeter吞吐量测试,它产生20个线程,每个线程对数据库执行一个简单的SQL查询。我设置了10秒的渐进时间和70秒的总测试时间。

当我以非GUI模式执行测试时,我看到以下摘要输出:

summary +      1 in   0.1s =    7.4/s Avg:   135 Min:   135 Max:   135 Err:     0 (0.00%) Active: 1 Started: 1 Finished: 0
summary + 137501 in  28.5s = 4831.0/s Avg:     3 Min:     1 Max:   614 Err:     0 (0.00%) Active: 20 Started: 20 Finished: 0
summary = 137502 in    29s = 4796.9/s Avg:     3 Min:     1 Max:   614 Err:     0 (0.00%)
summary + 171000 in    30s = 5703.8/s Avg:     3 Min:     1 Max:   519 Err:     0 (0.00%) Active: 20 Started: 20 Finished: 0
summary = 308502 in    59s = 5260.8/s Avg:     3 Min:     1 Max:   614 Err:     0 (0.00%)
summary +  61016 in  11.5s = 5309.0/s Avg:     3 Min:     1 Max:   518 Err:     0 (0.00%) Active: 0 Started: 20 Finished: 20
summary = 369518 in  70.1s = 5268.9/s Avg:     3 Min:     1 Max:   614 Err:     0 (0.00%)

正如您所看到的,在前30秒内吞吐量很低,但随后逐渐提高。我理解这可能是由于线程启动和其他系统组件热身导致的。

有没有办法从最终计算中排除"X"秒的起始数字。我使用了一些自定义性能测试,在测量输出之前始终排除了前"X"秒,直到系统达到稳定状态。

在JMeter中有没有办法做到这一点?


有没有关于答案的反馈?如果可以,请接受并点赞,谢谢。 - UBIK LOAD PACK
2个回答

1

选项1:

JMeter结果文件基本上是CSV文件,具有以下格式:

timeStamp,elapsed,label,responseCode,responseMessage,threadName,dataType,success,bytes,grpThreads,allThreads,Latency

1440671556283,1799,HTTP请求,200,OK,Thread Group 1-1,text,true,1591,1,1,1798

其中第一列是样本开始时间(以毫秒为单位Unix Time

如果您需要省略前30秒,请将30000添加到第一个采样器时间戳中,找到最接近的行并删除从第1行到该行的所有行。

选项2:

您可以使用Synchronizing Timer确保负载从一开始就使用20个线程。


是的,我可以这样做,但我想知道是否有内置选项可以完成此操作。谢谢您的回答。我非常感激您的时间。 - Maddy

0

好的,这是很有用的信息。谢谢你的帮助。 - Maddy

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接