我想运行jmeter分布式设置,但由于某种原因我需要识别每个带有序列号的从站,如何将序列号提供给所有从站,例如一个从站有序列号1,另一个是2,依此类推。
jmeter中有什么功能吗?给出用户输入文件不是我设置的可行解决方案。认为只有我可以访问主系统。
答案 0 :(得分: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;
答案 1 :(得分:0)
如果您只能访问主系统,则无法“设置”任何内容,您只能使用__machineName()和/或__machineIP()功能来区分测试计划的位置运行并使用这些功能,即在If Controller中,即在不同的从站上运行测试计划的不同分支,或识别哪个从站产生了这个或那个结果。