如何产生的JMeter并发用户负载(How to generate Concurrent User

2019-07-29 00:18发布

我有一个测试,让用户将登录并在搜索栏中输入搜索关键字,并会获得满意的结果。 最后注销。

现在我想利用JMeter测试并发性。 所以这是我想出了。

Test plan
  Thread group
  + Login request
    + Synchronizing Controller
  + Search string 
    + Synchronizing Controller
  + Logout 

我在线程的数目增加10。 我已经在同步控制器加入5。 所以,当我运行测试,我会得到5个用户的并发? 其余5个用户会同时用户?

此外,我都依赖请求时,登录页面加载。 因此,实现对登录并发,我已经加入交易控制器的所有请求,并添加同步控制器作为子事务控制器。 请让我知道,如果我这样做是正确的。

也请让我知道是否有另一种方式来实现特定动作的并发(例如:5级的用户打在同一时间登录按钮)。

Answer 1:

首先,你应该尝试“并发”和“同步”进行区分。 它们通常是很类似的术语,但在负载测试,他们有不同的含义。 同时意味着在同一时间两个或两个以上的要求。 并发是两个或多个线程(脚本)并行运行。

所以,你所谈论的是在尝试配置JMeter的模拟多个并发请求。 但实际上,还有比这好得多的办法。 而不是集中于试图打在同一时间同一请求,这是繁琐的JMeter的,您应该设置的测试是那种载荷的真实表示你希望你的应用程序支持。 如果你这样做很好,使用随机等待时间,吞吐量控制器和线程的真实一些,那么你会自动测试并发,并在同一时间运行的是正版的,有效的和有用的性能测试过。

因此,基本上,删除同步定时器,使用恒定吞吐量计时器代替,配置的等待时间,然后计算的线程的正确数量,以产生所需的负载。

增加的奖金,以这种方法,你将不太可能提高假阴性。 例如,如果你打5个登录请求您的服务器,那么你可能会发现,这个电话是单线程和响应时间增加。 但是,也许这并不重要,也许在同一时间两个登录呼叫的机会是如此之小,这是不值得花时间改变代码。 这是在负载测试一个非常,非常重要的概念 - 或许是最重要的 - 你必须有切合实际的目标,如果没有这些,你可以运行测试,发现虚假错误和一般浪费时间,直到永远。



文章来源: How to generate Concurrent User load in Jmeter