如何使用Jmeter

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

如果我将添加到收藏夹场景创建为具有4个采样器的线程组,并创建具有5个采样器的下单场景(如上述步骤所述),那么我应该为单个线程组分别添加吞吐量整形计时器吗?将是我应该像RPS设置一样提供的吞吐量参数。 对于正常的负载,我的应用程序具有以下最大响应时间和平均响应时间(即,没有队列等待时间,因为我仅通过运行一个线程就收集了响应时间,因此等待时间分量为零)。NBLI未添加为简单起见,思考时间以及响应时间都太昂贵了,因为后端ERP是旧系统。

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

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

以下是我的查询:

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

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

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

daibin0715 回答:如何使用Jmeter

  1. 除了您可以回答的以外,没有其他人可以回答,您可以说出1位用户能够在19秒内执行1个下单请求或每分钟3个下单请求。如果再添加一个用户,则可能有2种情况:

    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. 创建订单的组
  4. 您不需要知道响应时间,您需要提供足够的虚拟用户来执行所需的负载(假设应用程序能够处理该负载),请考虑使用Concurrency Thread Group如果当前数量不足以维持所需的吞吐量,请启动额外的线程。它可以通过Feedback function与吞吐量整形计时器连接。

本文链接:https://www.f2er.com/3057348.html

大家都在问