Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/api/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Multithreading 更新jmeter数据集配置以使用另一个线程更新其中的令牌_Multithreading_Api_Csv_Jmeter - Fatal编程技术网

Multithreading 更新jmeter数据集配置以使用另一个线程更新其中的令牌

Multithreading 更新jmeter数据集配置以使用另一个线程更新其中的令牌,multithreading,api,csv,jmeter,Multithreading,Api,Csv,Jmeter,我的API调用使用有效期为4分钟的令牌。在CSV数据集配置文件中,我们为每个用户在每行中放置了带有令牌的记录。我运行此测试20分钟。我在CLI模式下运行JMeter,并运行另一个线程每2分钟更新一次。该线程使用自定义库创建令牌 现在的问题是:在某些情况下,Jmeter在由单独的线程更新文件时读取文件,这会导致错误 我如何知道这是由线程引起的: 线程更新文件后会出现此错误。在此之前,一切都很顺利 我的CSV有参数 服务器、端口号、用户ID、用户名、密码、teamspaceID、令牌 在JMeter

我的API调用使用有效期为4分钟的令牌。在CSV数据集配置文件中,我们为每个用户在每行中放置了带有令牌的记录。我运行此测试20分钟。我在CLI模式下运行JMeter,并运行另一个线程每2分钟更新一次。该线程使用自定义库创建令牌

现在的问题是:在某些情况下,Jmeter在由单独的线程更新文件时读取文件,这会导致错误

我如何知道这是由线程引起的:

  • 线程更新文件后会出现此错误。在此之前,一切都很顺利

  • 我的CSV有参数 服务器、端口号、用户ID、用户名、密码、teamspaceID、令牌

  • 在JMeter脚本中使用类似“Http://${server}:${portNumber}”的URL 但在.jtl文件中,很少有记录具有“Http://somepartoftokenstring:8082”

    是否有其他有效的方法来处理这个

    < P>这是一个经典,JMIT的CSV数据集CONFIG不希望文件在运行时发生变化,很难在没有看到你的测试计划的情况下想出确切的解决方案,但是你可以考虑下面的备选方案:

  • 在请求之前使用生成令牌,默认情况下,预处理器花费的时间不包括在采样器的运行时间中,因此在结果文件中只会获得HTTP请求执行时间
  • 将非线程安全的逻辑置于
  • 使用而不是临时CSV文件来保存/传递令牌

  • 我的团队领导通过使用数据库解决了这个问题。现在,我们在数据库中写入头参数,而不是在线程的csv文件中,并在jmeter中使用预处理器从数据库中获取值,以更新头属性

    此外,我们正在编写三组数据。线程正在更新最早的数据,jmeter正在使用预处理器查询中的order by来使用最新数据