1

在性能测试期间,如果请求的响应时间超过一定时间,我想输出一个休息 API 请求和具体数据。例如,假设您运行了 100 次工作搜索,其中 10 次的响应时间超过了 2 秒。我希望 JMeter 输出一个列出那些长工人 ID 的文件。

4

2 回答 2

0

您已经拥有 .jtl 结果文件中的所有信息,第二列是elapsed您拥有各个请求响应时间的位置。所以

  1. 在命令行非 GUI 模式下运行 JMeter 测试。不要忘记通过-l 命令行参数指定所需的结果文件位置, 例如:

    jmeter -n -t test.jmx -l results.jtl
    
  2. 测试完成后,使用 Microsoft Excel 或等效软件(我使用的是LibreOffice Calc )打开 .jtl 结果文件(这是“普通” CSV 文件)。在那里,您应该能够按“经过”时间对样本结果进行排序,并识别那些花费超过 2000 毫秒(2 秒)的样本结果

    JMeter 结果

如果您需要将任意 JMeter 变量添加到 .jtl 结果文件以更精确地识别样本 - 在Sample Variables属性中获取

于 2017-09-19T09:02:40.150 回答
0

您可以添加JSR223 计时器,该计时器将在 Sample 之后执行并检查延迟(响应时间),如果超过 2 秒(2000 毫秒)执行写入文件的操作,您可以使用 JMeter 变量获取任何值vars.get("variableName"),例如:

latency = sampler.getLatency();
if (latency >2000) {
        log.info("Save to file " + vars.get("workerId"));
}
于 2017-09-19T13:11:10.907 回答