从 JMeter 中的访问日志示例中排除 URL

Exclude URLs from a access log sample in JMeter

我有一个测试计划,通过访问日志采样器使用 Apache 访问日志作为输入进行读取。此测试将在 Jenkins 上 运行。

虽然我有一些 URL 需要排除,例如 favicon.ico 请求和其他一些公开的控制器,但上下文不需要。

有什么方法可以排除这些 1) 实际请求或 2) 通过某种模式匹配忽略对这些 URLs/resources 的调用,这样它们就不会出现在指标上吗?

我可以在测试前操纵访问日志并通过 bash 排除这些 URL,但我真的希望 JMeter 的一些功能允许这样做。

您可以子类化 org.apache.jmeter.protocol.http.util.accesslog.SharedTCLogParser 以使其排除您不需要的资源。

完成后,创建一个 jar 并将其添加到 jmeter/lib,它将作为新的解析器出现在访问日志采样器中。 Select 它,你就完成了。

但与 运行 之前的 sed 相比,它可能过于复杂。

您可以使用 OS Process Sampler to run the sed and do this in a setup Thread Group that runs before regular Thread Groups, this would clean up your access log file before it is used by Access Log Sampler.

将此 sed 集成到 JMeter 中