结果 运行 多个 jmx 文件——我如何在运行之间添加一些 'recovery time'

Running multiple jmx files consequently -- how do i add some 'recovery time' between the runs

我有什么: - 大约 100 个 jmx 文件和随后执行这些 jmx 文件的批处理文件

问题是 在第一个 jmx-es 运行 之后,系统本身被加载,所以后面的 jmx-es 运行在加载的系统上,因此结果不能是 objective.

这就是为什么我需要在 jmx-es 执行之间增加一些时间,以便系统本身恢复并显示 objective 晚期 jmx-es 和第一个的结果。

我考虑过在批处理文件中设置一些睡眠,但它看起来更像是一种解决方法,而不是完美的解决方案。

如果有任何建议或提示,我将不胜感激。

我注意到你提到你是来自批处理文件的 运行 这些。如果我要实现这个,我会使用

thread group
   module controller 1
   module controlelr 2
   module controller x
test fragment 1
test fragment 2
test fragmetn 3

这将允许我使用 "Thread Group" 中的内置配置,例如“加速期(以秒为单位) 您可以将其设置为 5 分钟... 或者..您可以 ping 您的服务器以查看系统是否已卸载... 如果我正在与开发团队合作,请输入 "unload" api 调用请求。您可以在 QA 或 UAT 环境中调用以从卸载状态测试系统。

还有 "Timers" 下的 "constant Timer" 和 "Samplers" 下的 "Test action" 可以让您暂停线程。根据您的应用程序,这些也可能是解决方案

根据您使用的操作系统,这里有以下选项:

  • Linux: sync && echo 3 > /proc/sys/vm/drop_caches
  • Windows:使用RAMMap工具(Empty菜单选项),"Working Sets"应该是个不错的选择

实际上运行良好的 JMeter 测试应该让主机操作系统保持与测试前相同的状态,可能是测试本身有问题或者 JMeter 配置不正确?请参阅 9 Easy Solutions for a JMeter Load Test “Out of Memory” Failure 文章了解一些 JMeter 调优技巧。