使用ifcontroller时,第二个请求的运行次数不如第一次请求

时间:2015-12-09 16:51:53

标签: tomcat jmeter

我使用jmeter为我的Web应用程序的登录页面发送两个http请求,在成功登录后发送第二个http请求到另一个页面。我添加了添加第二个http请求的ifcontroller元素。当我用100个请求测试测试计划时,加速时间低于10秒,我看到第一次请求向Web应用程序发出了100个请求,但在聚合报告面板中,第二个请求只发出了75个请求。第二个请求计数总是不一样,它每次都在变化,但我从来没有得到第一个请求的计数为100。当我将加速期增加到10秒时,我只能看到第一个和第二个请求计数为100.这是否意味着jmeter客户端无法为第二个请求启动足够的线程数。

我正在使用带4核机器的4gb ram。如果我向我的电脑添加更多ram,情况会有所改善,因为在上述情况下,我只能在1秒内发送10个请求,我想在一秒内发送更多请求。

1 个答案:

答案 0 :(得分:0)

根据控制器的情况,可能是第二个请求依赖第一个请求成功的情况,即如果您使用${JMeterThread.last_sample_ok}变量作为条件第二个采样器只有在第一个采样器成功时才会触发所以如果登录失败 - 你不会看到第二个请求。有关详细信息,请参阅How to Use JMeter's 'IF' Controller and get Pie

关于吞吐量,您可以按照几个简单的步骤进行操作:

  • non-GUI mode
  • 中运行JMeter
  • 禁用所有侦听器
  • 明智有效地使用断言,前/后处理器,定时器

应该可以从4核/ 4Gb RAM机器模拟数百个并发线程。只需确保提供足够的线程(虚拟用户)和迭代。