如何使用Jmeter对Web应用程序进行基线设置

如何使用Jmeter对Web应用程序进行基线设置,jmeter,performance-testing,load-testing,throughput,baseline,Jmeter,Performance Testing,Load Testing,Throughput,Baseline,我想建立我的应用程序的基线。它有两个事务“下订单”和“将产品添加到收藏夹”。。这两个事务大多遵循相同的导航路线。对于-下订单业务交易,步骤位于登录页面。。登录..添加到购物车..结帐..下单。对于-将产品添加到收藏夹业务事务,步骤为:登录页面登录..登录..添加到购物车..添加到收藏夹。我希望运行测试,并查看应用程序在特定吞吐量下给出的一致响应时间。我有以下问题 如果我创建“添加到收藏夹”场景作为一个具有4个采样器的线程组,并创建具有5个采样器的下单场景(如上述步骤所示),那么我是否应该为单个线

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

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

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

  • 登录页面着陆-6074毫秒(平均4492毫秒)
  • 使用凭据登录-2549毫秒(平均631毫秒)
  • 添加到购物车-1553毫秒(平均值为304毫秒)
  • 在车上着陆页面:47044毫秒(平均:15901毫秒)
  • 下单时间:19126毫秒(平均17110毫秒)
  • 注销:4801毫秒(平均2706毫秒)
  • 以下是我的疑问:

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

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

  • 如何设置线程组的并发性;比如下订单交易。我有这个问题,因为我们需要知道最大响应时间。因此,我应该将线程组中所有采样器的整个响应时间相加,然后乘以我们计算的TPS,再除以1000。请解释本例中的逻辑

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

  • 响应时间保持不变。在这种情况下,2个用户每分钟可以执行6个请求,3个用户每分钟可以执行9个请求,以此类推

  • 响应时间增加。在这种情况下,由于以下原因,您将无法使用2个用户每分钟执行6个请求

  • 查看文章了解更多详细信息

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

  • < L> >P>你不需要知道响应时间,你需要提供足够的虚拟用户来执行所需的负载(如果应用程序能够处理它),考虑如果当前的量不足以维持所需的吞吐量,那么使用它可以启动额外的线程。它可以通过与吞吐量成形定时器连接