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 问题,而不是第二个请求的响应时间问题,这会降低吞吐量?
你应该显示线程组。
为确保您获得预期的吞吐量,可能会导致慢速第二个请求崩溃:
使用这个组件https://jmeter-plugins.org/wiki/ThroughputShapingTimer/
确保您阅读文档并设置足够的线程
组织你的计划,使其看起来像这样(请求 1 和 2 是简单控制器的子级)
线程组
|-吞吐量整形定时器
|-简单控制器
|-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 文章
我们正在通过 JMeter 在我们的服务器上执行负载测试。我们正在测试 2 个加载操作(注册和身份验证)。我们对这两个测试计划都有单独的计划。每个测试计划包含 2 个 HTTP 请求。在第一个 HTTP 请求之后,我们正在形成响应(使用第 3 方 jar)并将其转发给第二个 HTTP 请求。
现在,在第一个加载操作(注册)中,我们的吞吐量约为 10/秒。
see image of first operation
但是,我们在第二个操作(身份验证)中获得了 1.3/秒的吞吐量。
see image of second operation
我们为这两个操作使用了完全相同的配置。我们尝试增加 JMETER 的 HEAP 大小,但我们仍然实现了相同的吞吐量。我们可以使用分布式测试作为最后的手段,但我们想知道问题的根本原因。
是什么让您认为这是一个 jmeter 问题,而不是第二个请求的响应时间问题,这会降低吞吐量?
你应该显示线程组。
为确保您获得预期的吞吐量,可能会导致慢速第二个请求崩溃:
使用这个组件https://jmeter-plugins.org/wiki/ThroughputShapingTimer/
确保您阅读文档并设置足够的线程
组织你的计划,使其看起来像这样(请求 1 和 2 是简单控制器的子级)
线程组
|-吞吐量整形定时器
|-简单控制器
|-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 文章