HTTP请求中文件协议的用法

时间:2019-06-24 05:21:45

标签: jmeter file-read

建议HTTP Request使用Passing variables between threads读取文件。

  

例如,您可以在一个线程中使用“将响应保存到文件侦听器或BeanShell PostProcessor”,并使用HTTP Sampler“文件:”协议读取文件,并使用PostProcessor提取信息

哪个在起作用,但是文档中的警告应该忽略吗?

  

注意:FILE协议仅用于测试目的。无论使用哪个HTTP采样器,它都由相同的代码处理。

使用文件协议是一种安全/良好的做法,还是不推荐/不赞成使用这种做法?

1 个答案:

答案 0 :(得分:1)

  1. 使用since JMeter 3.1 you should be using JSR223 Test ElementsGroovy语言对Beanshell PostProcessor绝对是一种坏习惯
  2. 写入和读取文件可能会导致大量的disk IO开销,这可能成为脚本的瓶颈,尤其是在高负载时。而且,内存中的操作比将文件写入文件系统或从文件系统读取文件要快得多

假设以上所有条件

尽管如果您需要从文件系统上的文件中读取数据,使用file协议没有任何问题,但是最好避免使用这些临时文件并使用内存在线程之间传递数据,这些选项是在:

  1. 在第一个线程组中使用__setProperty() function存储值,在其他线程组中使用__P() function读取先前存储的值
  2. 使用Inter-Thread Communication Plugin,即使它们位于不同的线程组中,也可以用于在线程之间传递变量(有关实际用例,请参见SynchronizationExample.jmx)。可以使用JMeter Plugins Manager
  3. 安装线程间通信插件