我有一个约有50个用户的jmeter测试。测试的开始执行登录和一些设置的东西。我不希望这一切都发生在同一时间,因为对我不感兴趣的部分测试会有太多的争用。所以我有一个10秒的上升时间。然后有一个特定的HTTP请求,我希望50个用户发送超过1秒的间隔,即每20毫秒发送一次HTTP请求。这是为了确保50个用户同时排除这一部分。理想情况下,登录/加速之后的某个类似thread.join()会有所帮助,然后是另一个guassian计时器。
是否有与jmeter中的thread.join()类似的内容?
答案 0 :(得分:3)
要模仿thread.join你可以使用Synchronising Timer,这将阻止n个线程,直到它们到达某个点然后同时执行它们。
如果您希望每20ms的此请求负载继续(而不是单个突发),那么您可以使用Constant Throughput Controller来定义您希望JMeter运行的实际请求速率。您可以将每个线程配置为以每分钟60个请求的速率运行,这将为您提供每20毫秒一次命中(基于50个线程,响应时间始终小于1秒)。您也可以告诉JMeter确保您的负载是1 / 20ms,无论您使用多少线程,它都会动态调整。在负载测试的上下文中,此选项可能更有用。
请注意。使用CTT控制器时,您可能希望将登录请求放在Once Only COntroller或setup thread grou p中。