【发布时间】:2019-02-13 03:49:37
【问题描述】:
我有一个在 linux 上以非 gui 模式运行的 jmeter 测试计划来测试服务器。我想暂停 jmeter 测试计划一段时间以对服务器进行一些维护,并希望从暂停的地方恢复测试计划。
我不知道什么时候提前停止测试计划,所以我不能使用计时器在jmeter中编码
jmeter GUI和NON GUI模式下是否有暂停按钮来暂停测试计划
【问题讨论】:
我有一个在 linux 上以非 gui 模式运行的 jmeter 测试计划来测试服务器。我想暂停 jmeter 测试计划一段时间以对服务器进行一些维护,并希望从暂停的地方恢复测试计划。
我不知道什么时候提前停止测试计划,所以我不能使用计时器在jmeter中编码
jmeter GUI和NON GUI模式下是否有暂停按钮来暂停测试计划
【问题讨论】:
Linux 解决方案。如果你运行的是 Linux,你可以使用 kill command 喜欢:
kill -STOP 1234 - 暂停 JMeterkill - CONT 1234 - 恢复 JMeter
将1234 替换为关联的Java process ID
JMeter 解决方案。您可以将Constant Throughput Timer 添加到您的测试计划中,并使用__P() function 在“每分钟请求数”中设置所需的吞吐量。当您需要暂停 JMeter 时 - 您可以通过 Beanshell Server 将所需的吞吐量设置为 0。如果需要,请查看 How to Change JMeter´s Load During Runtime 文章以获取全面信息。
【讨论】:
无法暂停 Jmeter 执行。线程组的配置方式是它可以遍历请求并完全执行测试计划。在服务器中进行更改的唯一方法是停止测试,更改您需要的内容,然后从头开始再次执行测试。
此外,当您在服务器更新后恢复测试时,测试将没有任何意义。因为大多数情况下,在服务器上完成更新时,为了更安全,apache 会重新启动。这意味着您之前发送的请求不再在队列中。所以,即使 JMETER 中有暂停按钮,恢复后的测试也会和新测试一样。
最佳实践:在服务器更新之前完全运行测试。取出结果。 服务器更新后运行测试。取出结果。 然后比较结果。
【讨论】: