如何从Jmeter调用Java程序/批处理,当样本中存在伪造时



我在Jmeter中创建了一个用于负载测试的测试计划。现在它经常像整夜一样运行。当我早上看到结果时,其中一些 http 请求将失败,但我无法从生产日志中获取原因。由于我的服务器在 Tomcat 上运行,我怀疑生成了太多线程并处于等待状态或死锁状态。所以我需要在样本失败时进行线程转储。

基本上我的问题是,当 http 示例中出现故障时,有没有办法调用要从 Jmeter 调用的外部 Batch/Java 程序?

> JMeter 有一个内置变量,其中包含先前采样器执行的结果:${JMeterThread.last_sample_ok},如果前面的采样器成功,则返回true,在其他情况下返回false

因此,如果您按如下方式构建测试计划:

  • HTTP请求
  • 如果是控制器,条件:${JMeterThread.last_sample_ok}==false
    • 操作系统进程采样器,配置为启动批处理文件或 Java 程序

操作系统进程采样器将在"HTTP 请求"失败时执行。

引用:

  • 如何使用JMeter的"IF"控制器并获得Pie
  • 操作系统进程采样器官方文档

最新更新