【发布时间】:2023-03-09 14:01:01
【问题描述】:
我正在进行压力测试,但是我的第一个采样器在很短的时间内用大量请求淹没了服务器,所以我想在使用请求的每个线程之间进行延迟。
测试结构:
- Thread1 - Sampler1 (例如:访问登录表单)
- 延迟(自定义秒数)
- Thread2 - Sampler1 (例如:访问登录表单)
- 延迟(自定义秒数)
- ThreadN - Sampler1 (例如:访问登录表单)
- 延迟(自定义秒数)
- 线程 1 - 采样器 2
- 延迟(自定义秒数)
- 线程 2 - 采样器 2
- 延迟(自定义秒数)
- <...>
- 同步定时器
- 最终采样器释放的所有线程(这部分有效)
我试图将计时器作为采样器的父母或孩子。可能我错过了什么,因为没有计时器为我工作。
我找到了类似的问题解决方案,但没有一个对我有用: JMeter - sharing a delay between requests across multiple ThreadGroups Delays for each thread in Ultimate Thread Group
【问题讨论】:
-
线程组中 Rampup 参数的值是多少?
-
你是对的。增加备胎期解决了这个问题。谢谢。 (但我仍然希望计时器工作)
-
定时器适用于采样器而不适用于线程。计时器将允许延迟 2 个连续的采样器。但是如果你有一个请求和 10 个用户的线程组。计时器无助于延迟线程的创建和执行。 Rampup 在这方面很有用。但是,如果您有一个包含 5 个线程的 2 个请求的线程组,则对于每个线程,定时器会在采样器/请求执行中引入延迟。它们都有不同的功能。如果你还不清楚,我会在回答中解释。
-
你的回答很有用。我已经发现,定时器只适用于不同的采样器。但为了清楚起见,我将尝试 answes (stepping thread group) 和 (Ultimate thread group) 中给出的一些示例。