Performance 吞吐量值是否与JMeter中请求的响应时间相关?

Performance 吞吐量值是否与JMeter中请求的响应时间相关?,performance,testing,jmeter,Performance,Testing,Jmeter,我得到了以下结果,吞吐量没有变化,即使我增加了线程数 场景#1: 线程数:10 加速期:60 吞吐量:5.8/s 平均值:4025 场景#2: 线程数:20 加速期:60 吞吐量:7.8/s 平均值:5098 场景#3: 线程数:40 加速期:60 吞吐量:6.8/s 平均值:4098 my JMeter文件由一个线程组组成,该线程组包含一个GET 当我对响应时间更快(小于300毫秒)的端点执行请求时,我可以实现大于每秒50个请求的吞吐量 你能看到这个瓶颈吗? 响应时间和吞吐量之间有关系吗?简单

我得到了以下结果,吞吐量没有变化,即使我增加了线程数

场景#1:

线程数:10

加速期:60

吞吐量:5.8/s

平均值:4025

场景#2:

线程数:20

加速期:60

吞吐量:7.8/s

平均值:5098

场景#3:

线程数:40

加速期:60

吞吐量:6.8/s

平均值:4098

my JMeter文件由一个线程组组成,该线程组包含一个GET

当我对响应时间更快(小于300毫秒)的端点执行请求时,我可以实现大于每秒50个请求的吞吐量

你能看到这个瓶颈吗?

响应时间和吞吐量之间有关系吗?简单如下:

吞吐量=(请求数)/(总时间)

现在假设您的测试只包含一个GET,那么吞吐量将是请求的平均响应时间

注意爬升周期:60将在1分钟内开始创建线程,所以它将增加总执行时间,您可以尝试将其减少到10或等于线程数

但您可能有其他采样器/控制器/组件,可能会影响总时间


同样,在您的情况下,特别是在场景3中,可能有些请求失败了,那么您就无法计算成功事务的吞吐量。

在理想情况下,如果您将线程数增加2倍,那么吞吐量应该增加相同的因数

实际上,“理想”场景很难实现,因此它看起来像是应用程序中的瓶颈。识别瓶颈的过程通常如下所示:

  • 修改测试配置,逐渐增加负载,即从1个虚拟用户开始,并在5分钟内将负载增加到100个虚拟用户
  • 运行测试并查看、和侦听器。通过这种方式,您将能够将不断增加的负载与不断增加的响应时间关联起来,并确定性能开始下降的点。有关更多信息,请参阅
  • 一旦您弄清楚了什么是您需要知道的,是什么阻止了您的应用程序服务更多的请求,原因可能是:

    • 应用程序只是缺少资源(CPU、RAM、网络、磁盘等),请确保监视上述资源,这可以使用
    • 基础结构配置不适合高负载(即应用程序或数据库线程池设置不正确)
    • 问题在于您的应用程序代码(效率低下的算法、大型对象、缓慢的数据库查询)。可以使用
    • 另外,请确保您遵循以下步骤,因为可能是由于JMeter load generator端缺少资源或JMeter配置不正确(堆太低、在GUI模式下运行测试、使用侦听器等),JMeter无法足够快地发送请求

是否存在任何错误,尤其是场景3?