Jmeter:通过 HTTP 请求采样器获得低吞吐量

Jmeter: Getting low throughput via HTTP Request Sampler

我们正在通过 JMeter 在我们的服务器上执行负载测试。我们正在测试 2 个加载操作(注册和身份验证)。我们对这两个测试计划都有单独的计划。每个测试计划包含 2 个 HTTP 请求。在第一个 HTTP 请求之后,我们正在形成响应(使用第 3 方 jar)并将其转发给第二个 HTTP 请求。

现在,在第一个加载操作(注册)中,我们的吞吐量约为 10/秒。

see image of first operation

但是,我们在第二个操作(身份验证)中获得了 1.3/秒的吞吐量。

see image of second operation

我们为这两个操作使用了完全相同的配置。我们尝试增加 JMETER 的 HEAP 大小,但我们仍然实现了相同的吞吐量。我们可以使用分布式测试作为最后的手段,但我们想知道问题的根本原因

是什么让您认为这是一个 jmeter 问题,而不是第二个请求的响应时间问题,这会降低吞吐量?

你应该显示线程组。

为确保您获得预期的吞吐量,可能会导致慢速第二个请求崩溃:

线程组

|-吞吐量整形定时器

|-简单控制器

     |-Request 1

     |-Request 2

问题可能出在使用 Beanshell 上,因为它的性能可能是一个很大的问号,尤其是在高负载时。

Since JMeter 3.1 it is recommended to use JSR223 Elements and Groovy language for scripting so consider migrating to the JSR223 PostProcessor尽快。

有关详细说明、基准测试、Groovy 使用提示等,请参阅 Apache Groovy - Why and How You Should Use It 文章