当前位置: 首页 > 知识库问答 >
问题:

如何生成并发用户负载在Jmetm

刘永望
2023-03-14

我有一个测试,用户将登录并在搜索字段中输入搜索关键字,然后将得到结果。终于注销了。

现在我想使用Jmeter测试并发性。这就是我想到的。

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

我添加了10个线程。我在同步控制器中添加了5。所以当我运行测试时,我将获得5个用户的并发?其余5个用户将是同时用户?

我也有依赖的请求时登录页面加载。因此,为了在登录时实现并发,我在事务控制器中添加了所有请求,并将同步控制器作为子级添加到事务控制器中。请让我知道我是否做得对。

另外,请让我知道是否有其他方法可以实现特定操作的并发性(例如:5个用户同时点击登录按钮)。

共有1个答案

阮飞翔
2023-03-14

首先,你应该试着区分并发和同时。它们通常是非常相似的术语,但在负载测试中它们有不同的含义。同时是指同时有两个或多个请求。并发是两个或多个并行运行的线程(脚本)。

所以,您所谈论的是试图配置JMeter来模拟多个同时的请求。但实际上,还有比这更好的方法。您应该将测试设置为您希望应用程序支持的负载类型的现实表示,而不是专注于尝试同时命中相同的请求,这在JMeter中是很复杂的。如果您使用随机等待时间、吞吐量控制器和实际数量的线程做得很好,那么您将自动测试并发,同时运行真正、有效和有用的性能测试。

因此,基本上,放弃同步计时器,改用恒定吞吐量计时器,配置等待时间,然后计算正确的线程数以生成所需的负载。

这种方法的额外好处是,你不太可能提出错误的否定。例如,如果您同时向服务器发送5个登录请求,那么您可能会发现此调用是单线程的,响应时间会增加。但也许这并不重要,也许同时进行两次登录调用的可能性太小,不值得花时间更改代码。在负载测试中,这是一个非常非常重要的概念——也许是最重要的——您必须有现实的目标,没有这些目标,您可能会运行测试,发现错误,通常会永远浪费时间。

 类似资料:
  • 问题内容: 我正在进行一些吞吐量测试。我的申请必须 从JMS读取 做一些处理 写入JMS 我的目标是模拟#2,“一些处理”。也就是说,在转发事件之前引入延迟并在给定时间(例如500ms)内占用CPU。 天真的方法是。这将导致正确的执行延迟,但不会占用CPU。 计算斐波纳契数是一种选择。 有没有人使用任何有趣的技术只是为了让CPU在给定时间内忙碌? 理想的特征是: 执行各种指令,而不是(例如)仅在循

  • 我已经使用JMETER进行了负载测试。但现在无法为测试生成报告。 要生成报告,我遵循以下步骤: > 在环境变量中JAVA_HOME创建新变量,并设置 JDK 的路径。 创建另一个变量ANT_HOME并设置Apache ANT的路径。 创建另一个变量 PATH,并将路径设置为 BIN 文件夹。 将 文件放在侧面的“附加内容”文件夹中。它位于雅加达-jmeter-2.3.2-路径 导航到“build”

  • 我正在使用Locustio对一个web应用程序进行负载测试。我正在使用分布式模式下的locust并使用5个从机攻击5个AWS实例。我注意到,从每个从属服务器创建的负载仅命中5个AWS web服务器中的一个特定web服务器。 > 我想这与负载来自的IP有关…是吗? 这是不是一个很好的方法来设置,比方说50个奴隶,这样分配会更均匀?我想检查Amazon负载均衡器是否能在CPU负载增加时将新请求发送给空

  • 问题内容: 我正在尝试在short原始数据类型的范围内(-32768,32767)生成随机整数。java Random对象仅生成正数。我将如何在该间隔内随机创建数字?谢谢。 问题答案: 您随机选择,然后减去

  • 这在某个时间点上很有效,但我有一个用例,在应用程序运行时可以添加用户。 我可以通过哪种方法(通过控制器/服务)进行启动后操作?我想它可能是(它包含方法),但我不确定如何引用或配置它。

  • 我试图用JProfiler分析一个J2EE应用程序。 我无法在JProfiler的远程检测选项卡下检查CPU负载。下面是屏幕截图。有人能帮忙吗? 我甚至看了看这个和这个。 第一个链接非常具体地说明了在RSA中启用分析。但稍后会讨论如何为JVM启用分析。 有人能证实我对第二个的理解吗?