Jmeter OS进程采样器

ntjbwcob  于 2022-11-09  发布在  其他
关注(0)|答案(2)|浏览(413)

我在Jmeter中使用了4个操作系统进程采样器来启动二进制文件。不能说更多了。
当我运行测试时,第一个操作系统采样器不工作。我的意思是,它没有失败或成功,它只是花了太长的时间。什么也没有发生。当我停止测试时,错误是它失败了,因为它被中断(由我)。
当我第二次运行测试时,第一个操作系统采样器立即工作,但随后第二个操作系统采样器也发生了同样的问题。
在第三次测试尝试中,操作系统采样器1和2工作得很快,但第三次没有。
在第四次测试尝试中,操作系统采样器1、2和3工作,但第四次不工作。
最后,在第五次测试尝试中,所有操作系统采样器都正常工作。
总而言之,每个采样器在工作之前都需要进行一次试运行。
为什么?请帮帮忙。

omqzjyyz

omqzjyyz1#

如果您使用OS Process Sampler来“启动”二进制文件,我的期望是OS Process Sampler将等待直到二进制文件执行完成,以记录执行时间、返回代码、任何输出等。这就是采样器的设计目的。
如果你需要用JMeter在后台启动一些东西,你需要稍微“作弊”一下。这里至少有两种选择:
1.使用单独的线程组。您可以将操作系统进程采样器放在具有1个虚拟用户和1个迭代的单独线程组下。只需确保在“测试计划”级别框中有“连续运行线程组”未选中

  • 使用底层的操作系统机制来提供JMeter响应代码和它所寻找的输出。

例如,以下列方式启动程序:

  • 视窗:cmd /c pushd path_to_your_binary_location && your binary
  • Linux/Unix系统:nohup /path/to/your/binary > /dev/null 2>&1 &

有关从JMeter脚本执行本地和远程命令的更多信息,请参见How to Run External Commands and Programs Locally and Remotely from JMeter

xxb16uws

xxb16uws2#

OS Sampler以这种方式工作没有特别的原因。最有可能的问题是来自底层调用的代码。
你能提供更多关于你的shell的信息吗?

相关问题