【问题标题】:How to Baseline a Web application using Jmeter如何使用 Jmeter 为 Web 应用程序设置基线
【发布时间】:2019-11-21 14:23:52
【问题描述】:

我想为我的应用程序设置基线。它有两个交易“下订单”和“将产品添加到收藏夹”。这两个交易大多遵循相同的导航路线。对于 - 下订单业务交易,步骤是登陆登录页面..登录..添加到购物车..结帐..下订单。对于 - 将产品添加到收藏夹业务交易,步骤是:登陆登录页面..登录....添加到购物车...添加到收藏夹。我想运行测试并查看应用程序在特定吞吐量下提供的一致响应时间。我有以下疑问。

如果我将添加到收藏夹场景创建为具有 4 个采样器的线程组和具有 5 个采样器的下订单场景(如上述步骤所示),我是否应该为单个线程组单独添加吞吐量整形计时器,如果是的话将是我应该提供的吞吐量参数,例如 RPS 设置。 我的应用程序具有以下正常负载的最大响应时间和平均响应时间(即没有队列等待时间,因为我仅通过运行单个线程来收集响应时间,因此等待时间组件为零)。N.B L 我没有添加为简单起见,考虑时间和响应时间有点太昂贵了,因为后端 ERP 是遗留系统。

因此,我将为“下订单”创建的线程组在下面具有 http 采样器,以及它们各自对 1 个用户负载的响应时间:

  1. 登陆登录页面 - 6074 毫秒(平均 4492 毫秒)
  2. 使用凭据登录 - 2549 毫秒(平均为 631 毫秒)
  3. 加入购物车 - 1553 毫秒(平均为 304 毫秒)
  4. 登陆购物车页面:47044 毫秒(平均:15901 毫秒)
  5. 下订单:19126 毫秒(平均为 17110 毫秒)
  6. 注销:4801 毫秒(平均为 2706 毫秒)

以下是我的疑问:

  1. 根据上述响应时间,最大吞吐量是多少,即我可以实现的下订单事务,以便我可以将其设置为吞吐量整形图插件中的 TPS 参数,然后运行负载测试。请有人解释得出该值的计算过程。

  2. 相同的采样器(即登陆登录页面和登录并添加到购物车)用于多个线程组,例如上面的下订单业务场景和将产品添加到收藏的业务事务。所以我的问题是,如果不同的线程组要冲击同一个登录控制器 Servlet/添加到购物车 Servlet(我的应用程序是 J2EE 应用程序),那么如何考虑到这一点,以便为登录采样器生成的队列不会影响通过下订单实现的 TPS 业务场景和使用登录采样器事务的其他业务场景,因为我们将运行两个线程组。(一个用于下订单,一个线程组用于添加到收藏夹)同时运行负载测试

  3. 如何设置线程组的并发;说下订单交易。我有这个问题,因为我们需要知道最大响应时间。因此,我是否应该将 Thread 组中所有采样器的整个响应时间相加,然后乘以我们计算的 TPS 除以 1000。请解释一下这种情况下的逻辑。

【问题讨论】:

    标签: jmeter performance-testing load-testing throughput baseline


    【解决方案1】:
    1. 除了您之外没有人可以回答,根据您的数字,我们可以说 1 个用户能够在 19 秒内执行 1 个下订单请求或每分钟执行 3 个下订单请求。如果您再添加一个用户,则可能有两种情况:

      1. 响应时间保持不变。在这种情况下,您将能够每分钟执行 2 个用户的 6 个请求,每分钟执行 3 个用户的 9 个请求,等等。

      2. 响应时间增加。在这种情况下,由于performance bottleneck,您将无法每分钟对 2 个用户执行 6 个请求。

      查看What is the Relationship Between Users and Hits Per Second? 文章了解更多详情。

    2. 我认为您不应该单独测量各种业务用例,良好的负载测试应该尽可能接近真实的应用程序使用情况,实际上它比一个用户创建和在其他用户登录时订购。但是,如果您明确需要单独测试订单创建,您可以在setUp Thread Group 中执行登录,然后将身份验证上下文(在大多数情况下是一组 Cookie)传递给主线程组,其中订单创建使用 Inter-Thread Communication Plugin

    3. 您不需要知道响应时间,您需要提供足够的虚拟用户来执行所需的负载(假设应用程序能够处理它),考虑使用可以启动的Concurrency Thread Group如果当前数量不足以维持所需的吞吐量,则需要额外的线程。它可以通过Feedback function与吞吐量整形定时器连接。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-09-06
      • 1970-01-01
      • 1970-01-01
      • 2023-03-31
      相关资源
      最近更新 更多