5

我有一个简单的 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 中做到这一点吗?

4

2 回答 2

1

选项1:

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

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

1440671556283 ,1799,HTTP 请求,200,OK,线程组 1-1,text,true,1591,1,1,1798

其中第一列是样本开始时间(自Unix Time以来的毫秒数)

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

选项 2:

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

于 2015-08-27T10:37:26.387 回答
0

您可以使用 jmeter-plugins 生成图表

并填写起始偏移量字段。

阅读此内容以使用生成:

于 2015-08-27T05:46:49.280 回答