我已經根據本手冊配置JMeter的羣集測試 - JMeter Distributed Testing Step-by-stepJMeter的用Not桂模式螞蟻任務不從節點上運行
兩種機器的CentOS 6與禁用防火牆和具有相同的版本的JMeter。
項目已建成使用JMeter的Java示例:
所有呼叫都去往後端。通過RMI調用,如果要準確。
主節點配置:
更新jmeter.properties
與從IP
Run Jenkins job -> ant calls JMeter ant task -> launches test on Jmeter (it has built jar with java's sampler).
JDK 1.7.25/ant 1.9.4/JMeter 2.11;
從屬節點配置:
JDK 1.7.90/ant 1.7.1/JMeter 2.11;
已開始jmeter-server
。
啓動測試工作後。它只在主節點上執行。請求發送到從節點沒有發生。
我無法得到一個爲什麼這種事情發生。
這裏是螞蟻任務片段:
<target name="jmeter-test" depends="jmeter-init, is_run_remote">
<jmeter jmeterhome="${jmeter.home}"
testplan="${basedir.unix}/${test.testplan.path}"
resultlog="${basedir.unix}/${results.report.jmeter.generated.path}"
failureproperty="test_failed"
runremote="${is_remote}">
<!-- jvm settings -->
<jvmarg value="-Xms${jvm.xms}"/>
<jvmarg value="-Xmx${jvm.xmx}"/>
<!-- jmeter remoting properties -->
<property name="remote_hosts" value="${remote_hosts}" />
<property name="client.rmi.localport" value="${client.rmi.localport}" />
<property name="java.rmi.server.hostname" value="${java.rmi.server.hostname}" />
<property name="server.exitaftertest" value="${server.exitaftertest}" />
<property name="client.rmi.localport" value="${client.rmi.localport}" remote="true" />
<property name="server.rmi.localport" value="${server.rmi.localport}" remote="true" />
<property name="sample_sender_client_configured" value="${sample_sender_client_configured}" remote="true" />
<property name="mode" value="${remote.results.sending.mode}" remote="true" />
<property name="asynch.batch.queue.size" value="${asynch.batch.queue.size}" remote="true" />
從jmeter.log
的主要區別是,通常測試經過編譯取樣:
jmeter.functions.StringFromFile: setParameters(${LISTING_USERS_CSV})
2016/07/19 14:36:17 INFO - jmeter.functions.StringFromFile: setParameters(${LISTING_USERS_CSV})
2016/07/19 14:36:17 INFO - jmeter.functions.StringFromFile: setParameters(${LISTING_USERS_CSV})
2016/07/19 14:36:17 INFO - jmeter.functions.StringFromFile: setParameters(${LISTING_USERS_CSV})
2016/07/19 14:36:17 INFO - jmeter.functions.StringFromFile: setParameters(${LISTING_USERS_CSV})
2016/07/19 14:36:17 INFO - jmeter.functions.StringFromFile: setParameters(${LISTING_USERS_CSV})
2016/07/19 14:36:17 INFO - jmeter.functions.StringFromFile: setParameters(${LISTING_USERS_CSV})
2016/07/19 14:36:17 INFO - jmeter.functions.StringFromFile: setParameters(${LISTING_USERS_CSV})
2016/07/19 14:36:17 INFO - jmeter.protocol.java.sampler.JavaSampler: Created class: post.PostFreightSearchSampler. Uses tearDownTest: false
2016/07/19 14:36:17 INFO - jmeter.protocol.java.sampler.JavaSampler: Created class: post.PostVehicleSearchSampler. Uses tearDownTest: false
2016/07/19 14:36:17 INFO - jmeter.protocol.java.sampler.JavaSampler: Created class: post.region.PostFreightRegionalSearchSampler. Uses tearDownTest: false
2016/07/19 14:36:17 INFO - jmeter.protocol.java.sampler.JavaSampler: Created class: post.region.PostVehicleRegionalSearchSampler. Uses tearDownTest: false
2016/07/19 14:36:17 INFO - jmeter.protocol.java.sampler.JavaSampler: Created class: post.country.PostFreightCountrySearchSampler. Uses tearDownTest: false
2016/07/19 14:36:17 INFO - jmeter.protocol.java.sampler.JavaSampler: Created class: post.country.PostVehicleCountrySearchSampler. Uses tearDownTest: false
2016/07/19 14:36:17 INFO - jmeter.protocol.java.sampler.JavaSampler: Created class: search.execute.ExecuteFreightSearch. Uses tearDownTest: false
2016/07/19 14:36:17 INFO - jmeter.protocol.java.sampler.JavaSampler: Created class: search.execute.ExecuteVehicleSearch. Uses tearDownTest: false
2016/07/19 14:36:17 INFO - jmeter.protocol.java.sampler.JavaSampler: Created class: search.execute.ExecuteFreightSearch. Uses tearDownTest: false
2016/07/19 14:36:17 INFO - jmeter.protocol.java.sampler.JavaSampler: Created class: search.execute.ExecuteVehicleSearch. Uses tearDownTest: false
在遠程處理運行它的情況下,不同的行爲:
jmeter.engine.ClientJMeterEngine: sent test to 127.0.0.1 basedir='.'
... set the run props
jmeter.engine.ClientJMeterEngine: sent run command to 127.0.0.1
2016/07/25 14:59:13 INFO - jmeter.JMeter: Remote engines have been started
2016/07/25 14:59:13 INFO - jmeter.JMeter: Started remote host: 127.0.0.1 (1469447953598)
2016/07/25 14:59:13 INFO - jmeter.samplers.SampleResult: Note: Sample TimeStamps are START times
2016/07/25 14:59:13 INFO - jmeter.samplers.SampleResult: sampleresult.default.encoding is set to ISO-8859-1
2016/07/25 14:59:13 INFO - jmeter.samplers.SampleResult: sampleresult.useNanoTime=true
2016/07/25 14:59:13 INFO - jmeter.samplers.SampleResult: sampleresult.nanoThreadSleep=5000
2016/07/25 14:59:13 INFO - jmeter.reporters.Summariser: summary = 1 in 0s = ******/s Avg: 0 Min: 0 Max: 0 Err: 1 (100.00%)
2016/07/25 14:59:13 INFO - jmeter.JMeter: Finished remote host: 127.0.0.1 (1469447953740)
如何進行分佈式測試?