Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/361.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
Java JMETER:如何创建一组N个线程,其中N是文件中的行数_Java_Csv_Jmeter_Performance Testing_Threadgroup - Fatal编程技术网

Java JMETER:如何创建一组N个线程,其中N是文件中的行数

Java JMETER:如何创建一组N个线程,其中N是文件中的行数,java,csv,jmeter,performance-testing,threadgroup,Java,Csv,Jmeter,Performance Testing,Threadgroup,我有以下测试计划: 我想在csv文件的每行上有一个线程 如何实现这一点?这是可能的,但在启动jmeter之前,您需要计算CSV文件中的行数,如: 在JMeter中,使用如下函数定义“线程数” ${__P(threads,)} 您可以通过-J命令行参数传递线程属性值,如 jmeter -Jthreads=60 .... 您可以使用操作系统命令计算CSV文件中的行数,如: setlocal EnableDelayedExpansion set "cmd=findstr /R /N "^^"

我有以下测试计划:

我想在csv文件的每行上有一个线程


如何实现这一点?

这是可能的,但在启动jmeter之前,您需要计算CSV文件中的行数,如:

  • 在JMeter中,使用如下函数定义“线程数”

    ${__P(threads,)}
    
  • 您可以通过
    -J
    命令行参数传递
    线程
    属性值,如

    jmeter -Jthreads=60 ....
    
  • 您可以使用操作系统命令计算CSV文件中的行数,如:

    setlocal EnableDelayedExpansion
    set "cmd=findstr /R /N "^^" PATH_TO_YOUR_FILE.CSV | find /C ":""
    
    for /f %%a in ('!cmd!') do set threads=%%a
    
    jmeter.bat -Jthreads=%threads% -n -t test.jmx ...
    
    • 对于MS Windows,将“for”循环用作Xoce웃 Пepeúpa建议,如创建,即
      runtest.bat
      文件,如:

      setlocal EnableDelayedExpansion
      set "cmd=findstr /R /N "^^" PATH_TO_YOUR_FILE.CSV | find /C ":""
      
      for /f %%a in ('!cmd!') do set threads=%%a
      
      jmeter.bat -Jthreads=%threads% -n -t test.jmx ...
      
    • 对于Linux/Unix,您可以使用和命令组合并运行JMeter,如下所示:

      ./jmeter -Jthreads="$(wc -l PATH_TO_YOUR_FILE.CSV | awk {'print $1'})" -n -t test.jmx
      
  • 理论上,Linux方式也应该适用于OSX


    有关JMeter属性和使用它们的方法的更多信息,请参见(..)循环声音熟悉程度的信息。您能详细说明吗?在纯Java中,您只需要
    文件.lines().parallel()
    ,但您提到的是jmeter…@Xoce웃 Пepeúpa应在parallel@fge是的,我需要jmeter的解决方案。您是否在问如何创建一组N个线程,其中N是文件中的行数?在日志中,我看到:jmeter.engine.StandardJMeterEngine:Starting ThreadGroup:1:Thread group jmeter.engine.StandardJMeterEngine:为组线程组启动0个线程。jmeter.engine.StandardJMeterEngine:线程将在出现错误时继续jmeter.threads.ThreadGroup:开始线程组编号1线程0爬升0 perThread NaN delayedStart=false