首页 文章

如何在Jmeter分布式测试中为每个从站提供序列号?

提问于
浏览
0

我想运行jmeter分布式设置,但由于某种原因,我需要识别每个带有序列号的从站,如何将序列号提供给所有从站,例如一个从站有序列号1,另一个是2,依此类推 .

jmeter有什么功能吗?给出用户输入文件不是我设置的可行解决方案 . 认为只有我可以访问主系统 .

2 回答

  • 1

    当你启动那些从属时,你必须使用-J参数传递变量:

    for slave in slaves:           
            serial_index += 1
            run_jmeter_server_cmd = 'nohup java -jar "/bin/ApacheJMeter.jar" "-Djava.rmi.server.hostname={0}" -Dserver_port={1} -Jserial_index={3} > /dev/null 2>&1 '.format(hostname, port, serial_index)
    

    并且serial_index必须在测试计划中的用户定义变量中:serial_index:$ {__ P(serial_index)} Windows批处理:

    for /l %x in (1, 1, 100) do (
       echo %x
       jmeter -n -t C:\User\Scriptname.jmx -Jusers=0 -Jserial_number=%x
    )
    

    Linux bash:

    for i in {1..5}
        cd $JMETER_DIR/bin/
        DIRNAME=`dirname $0`   
        nohup java $JVM_ARGS -jar "$JMETER_DIR/bin/ApacheJMeter.jar" "$@" "-Djava.rmi.server.hostname=$host" -Dserver_port=\$port -s -Jpoll=\$i > /dev/null 2>&1 &
    done;
    
  • 0

    如果您只能访问主系统,那么您将无法使用__machineName()和/或__machineIP()函数来区分运行测试计划的位置并使用这些函数,即If Controller即运行不同的分支测试计划对不同的奴隶或确定哪个奴隶产生了这个或那个结果 .

相关问题