JMeter 思考时间

JMeter Think Time

如果此请求与其他请求相似,我深表歉意 - 我是 JMeter 的新手,搜索过其他相关内容 post 但找不到任何内容 - 或者我可能只是不理解它们!

我正在使用基于 Web 的应用程序对系统进行性能测试。前端系统将处理通过 MQ 提交到系统中的记录 - 前端允许用户从队列中提取记录、验证一些细节、进行更改并提交更改。

将有 20 个用户使用前端来执行此消息验证、更新和提交。 每个用户预计需要 30 秒来从队列中挑选一条消息、进行更改并重新提交 - 因此我们预计 1 名用户处理 120 records/hour,因此预计 20 名用户处理 2400 records/hour

从队列中提取记录、更改记录并提交更改将通过 3 个单独的网页完成。

SO - 3 个页面的思考时间已定义为 24 秒(30 秒限制中的 6 秒用于呈现、服务器响应、数据库调用等)
但是我不知道如何在 JMeter 中指定它。从我的阅读中我可以看到我可以添加一个定时器作为采样器的父级并且我假设我可以添加一个定时器作为记录控制器的父级? - 但我需要能够指定 24 秒的思考时间分布在这 3 个不同的页面上。

我在其他地方读到 post 建议如果我在将高斯随机计时器添加为测试计划的子项(其他所有项的父项)后使用代理进行记录,则 http 代理将记录想法时间作为高斯随机定时器中的 ${T} 变量 - 我试过这个但没有用(我也不想依赖这个 - 我希望能够理解并改​​变思考时间正确而不是依赖 JMETER 为我做这件事。)

重申 - 20 个用户,1 个用户 30 秒完成交易,TT 定义为 24 秒 - 我正在纠结使用什么定时器,把它放在哪里,以便思考时间分布在采样器上等同于与用户将浏览的 3 个页面关联的 GETS。

为冗长道歉post - 我只是想简明扼要。

非常感谢,

根据 JMeter 计时器文档

Note that timers are processed before each sampler in the scope in which they are found; if there are several timers in the same scope, all the timers will be processed before each sampler. Timers are only processed in conjunction with a sampler. A timer which is not in the same scope as a sampler will not be processed at all.

To apply a timer to a single sampler, add the timer as a child element of the sampler. The timer will be applied before the sampler is executed. To apply a timer after a sampler, either add it to the next sampler, or add it as the child of a Test Action Sampler.

现在关于"what timer to use"

有两种情况:

  1. 面向虚拟用户的场景 - 当您尝试模拟 N 个用户一起工作时
  2. 面向目标的场景 - 当您尝试每秒加载 N 次点击时。

在场景 1 的情况下,即使 Constant Timer 也足够了,此外它还能提供结果的可重复性。有关放置计时器的信息,请参阅上面的引文

如果是场景 2,您将需要 Constant Throughput Timer。如果 20 个用户每小时处理 2400 条记录并且每条记录假定 3 次网页调用,则意味着将在一小时内发出 7200 次请求,这又代表每分钟 120 次请求(这是您应该输入计时器的 "throughput" 区域)或每秒 2 个请求。