我有一个测试,用户将登录并在搜索字段中输入搜索关键字,并将获得结果。最后注销。
现在我想使用Jmeter测试并发性。这就是我想出来的。
Test plan
Thread group
+ Login request
+ Synchronizing Controller
+ Search string
+ Synchronizing Controller
+ Logout 我已经添加了10个线程的数量。我已经在同步控制器中添加了5。那么,当我运行测试时,我会得到5个用户的并发吗?其余5个用户将是同时使用的用户?
此外,我有依赖的请求时,登录页面加载。因此,为了在登录时实现并发,我在事务控制器中添加了所有请求,并将同步控制器作为子级添加到事务控制器中。如果我做得对,请让我知道。
另外,请让我知道是否有其他方法来实现并发的具体行动(例如:5个用户同时点击登录按钮)。
发布于 2012-04-17 20:58:32
首先,你应该试着区分“并发”和“同时”。它们通常是非常相似的术语,但在负载测试中,它们具有不同的含义。同时表示同时有两个或更多的请求。并发是两个或多个并行运行的线程(脚本)。
因此,您正在讨论的是尝试配置JMeter以模拟多个并发请求。但实际上,有一种比这更好的方法。在JMeter中,您应该将测试设置为您希望应用程序支持的负载类型的真实表示,而不是专注于同时尝试命中相同的请求。如果你做得很好,使用随机等待时间,吞吐量控制器和实际的线程数量,那么你将自动测试并发性,同时也运行真正的,有效的和有用的性能测试。
因此,基本上,删除同步计时器,改为使用恒定吞吐量计时器,配置等待时间,然后计算正确的线程数量以生成所需的负载。
这种方法的额外好处是您将不太可能引发假阴性。例如,如果您的服务器同时有5个登录请求,那么您可能会发现此调用是单线程的,响应时间会增加。但也许这无关紧要,也许同时进行两个登录调用的可能性太小,不值得花费时间更改代码。这是负载测试中一个非常非常重要的概念--也许是最重要的--你必须有现实的目标,如果没有这些目标,你可能会运行测试,发现错误的bug,通常会永远浪费时间。
https://stackoverflow.com/questions/10190455
复制相似问题