[jboss-svn-commits] JBL Code SVN: r9971 - in labs/jbossesb/trunk/qa: jmeter and 1 other directory.

jboss-svn-commits at lists.jboss.org jboss-svn-commits at lists.jboss.org
Mon Mar 5 08:49:38 EST 2007


Author: kurt.stam at jboss.com
Date: 2007-03-05 08:49:38 -0500 (Mon, 05 Mar 2007)
New Revision: 9971

Added:
   labs/jbossesb/trunk/qa/jmeter/
   labs/jbossesb/trunk/qa/jmeter/JBossMQ-HelloWorld-Action.jmx
   labs/jbossesb/trunk/qa/jmeter/JBossMQ-QueuA-to-A.jmx
   labs/jbossesb/trunk/qa/jmeter/Point-to-Point.jmx
   labs/jbossesb/trunk/qa/jmeter/README.txt
   labs/jbossesb/trunk/qa/jmeter/jmeter.properties
Log:
Adding jmeter load tests

Added: labs/jbossesb/trunk/qa/jmeter/JBossMQ-HelloWorld-Action.jmx
===================================================================
--- labs/jbossesb/trunk/qa/jmeter/JBossMQ-HelloWorld-Action.jmx	                        (rev 0)
+++ labs/jbossesb/trunk/qa/jmeter/JBossMQ-HelloWorld-Action.jmx	2007-03-05 13:49:38 UTC (rev 9971)
@@ -0,0 +1,79 @@
+<jmeterTestPlan version="1.2" properties="1.8">
+  <hashTree>
+    <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="JBossESB" enabled="true">
+      <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+        <collectionProp name="Arguments.arguments"/>
+      </elementProp>
+      <stringProp name="TestPlan.user_define_classpath"></stringProp>
+      <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
+      <boolProp name="TestPlan.functional_mode">false</boolProp>
+      <stringProp name="TestPlan.comments"></stringProp>
+    </TestPlan>
+    <hashTree>
+      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Point-to-Point" enabled="true">
+        <longProp name="ThreadGroup.start_time">1172254399000</longProp>
+        <stringProp name="ThreadGroup.delay"></stringProp>
+        <stringProp name="ThreadGroup.duration"></stringProp>
+        <stringProp name="ThreadGroup.num_threads">1</stringProp>
+        <boolProp name="ThreadGroup.scheduler">false</boolProp>
+        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
+          <intProp name="LoopController.loops">-1</intProp>
+          <boolProp name="LoopController.continue_forever">false</boolProp>
+        </elementProp>
+        <longProp name="ThreadGroup.end_time">1172254399000</longProp>
+        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
+        <stringProp name="ThreadGroup.ramp_time">1</stringProp>
+      </ThreadGroup>
+      <hashTree>
+        <JMSSampler guiclass="JMSConfigGui" testclass="JMSSampler" testname="JMS Point-to-Point" enabled="true">
+          <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <elementProp name="JMSSampler.jndiProperties" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <boolProp name="JMSSampler.isFireAndForget">false</boolProp>
+          <stringProp name="JMSSampler.ReceiveQueue">queue/quickstart_helloworld_action_Response</stringProp>
+          <stringProp name="JMSSampler.timeout">2000</stringProp>
+          <stringProp name="JMSSampler.SendQueue">queue/quickstart_helloworld_action_Request</stringProp>
+          <stringProp name="JMSSampler.contextProviderUrl">localhost</stringProp>
+          <stringProp name="JMSSampler.queueconnectionfactory">ConnectionFactory</stringProp>
+          <stringProp name="JMSSampler.initialContextFactory">org.jnp.interfaces.NamingContextFactory</stringProp>
+          <stringProp name="HTTPSamper.xml_data">test</stringProp>
+        </JMSSampler>
+        <hashTree/>
+        <ResultCollector guiclass="GraphVisualizer" testclass="ResultCollector" testname="Graph Results" enabled="true">
+          <objProp>
+            <value class="SampleSaveConfiguration">
+              <time>true</time>
+              <latency>true</latency>
+              <timestamp>true</timestamp>
+              <success>true</success>
+              <label>true</label>
+              <code>true</code>
+              <message>true</message>
+              <threadName>true</threadName>
+              <dataType>true</dataType>
+              <encoding>false</encoding>
+              <assertions>true</assertions>
+              <subresults>true</subresults>
+              <responseData>false</responseData>
+              <samplerData>false</samplerData>
+              <xml>false</xml>
+              <fieldNames>false</fieldNames>
+              <responseHeaders>false</responseHeaders>
+              <requestHeaders>false</requestHeaders>
+              <responseDataOnError>false</responseDataOnError>
+              <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
+              <assertionsResultsToSave>0</assertionsResultsToSave>
+            </value>
+            <name>saveConfig</name>
+          </objProp>
+          <stringProp name="filename">C:\eclipse\workspace\jbossesb_profile\qa\jmeter\reports\JBossMQ-QueuA-to-A.jtl</stringProp>
+          <boolProp name="ResultCollector.error_logging">false</boolProp>
+        </ResultCollector>
+        <hashTree/>
+      </hashTree>
+    </hashTree>
+  </hashTree>
+</jmeterTestPlan>

Added: labs/jbossesb/trunk/qa/jmeter/JBossMQ-QueuA-to-A.jmx
===================================================================
--- labs/jbossesb/trunk/qa/jmeter/JBossMQ-QueuA-to-A.jmx	                        (rev 0)
+++ labs/jbossesb/trunk/qa/jmeter/JBossMQ-QueuA-to-A.jmx	2007-03-05 13:49:38 UTC (rev 9971)
@@ -0,0 +1,79 @@
+<jmeterTestPlan version="1.2" properties="1.8">
+  <hashTree>
+    <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="JBossESB" enabled="true">
+      <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+        <collectionProp name="Arguments.arguments"/>
+      </elementProp>
+      <stringProp name="TestPlan.user_define_classpath"></stringProp>
+      <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
+      <boolProp name="TestPlan.functional_mode">false</boolProp>
+      <stringProp name="TestPlan.comments"></stringProp>
+    </TestPlan>
+    <hashTree>
+      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Point-to-Point" enabled="true">
+        <longProp name="ThreadGroup.start_time">1172254399000</longProp>
+        <stringProp name="ThreadGroup.delay"></stringProp>
+        <stringProp name="ThreadGroup.duration"></stringProp>
+        <stringProp name="ThreadGroup.num_threads">5</stringProp>
+        <boolProp name="ThreadGroup.scheduler">false</boolProp>
+        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
+          <intProp name="LoopController.loops">-1</intProp>
+          <boolProp name="LoopController.continue_forever">false</boolProp>
+        </elementProp>
+        <longProp name="ThreadGroup.end_time">1172254399000</longProp>
+        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
+        <stringProp name="ThreadGroup.ramp_time">0</stringProp>
+      </ThreadGroup>
+      <hashTree>
+        <JMSSampler guiclass="JMSConfigGui" testclass="JMSSampler" testname="JMS Point-to-Point" enabled="true">
+          <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <elementProp name="JMSSampler.jndiProperties" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <boolProp name="JMSSampler.isFireAndForget">false</boolProp>
+          <stringProp name="JMSSampler.ReceiveQueue">queue/A</stringProp>
+          <stringProp name="JMSSampler.timeout">2000</stringProp>
+          <stringProp name="JMSSampler.SendQueue">queue/A</stringProp>
+          <stringProp name="JMSSampler.contextProviderUrl">localhost</stringProp>
+          <stringProp name="JMSSampler.queueconnectionfactory">ConnectionFactory</stringProp>
+          <stringProp name="JMSSampler.initialContextFactory">org.jnp.interfaces.NamingContextFactory</stringProp>
+          <stringProp name="HTTPSamper.xml_data">test</stringProp>
+        </JMSSampler>
+        <hashTree/>
+        <ResultCollector guiclass="GraphVisualizer" testclass="ResultCollector" testname="Graph Results" enabled="true">
+          <objProp>
+            <value class="SampleSaveConfiguration">
+              <time>true</time>
+              <latency>true</latency>
+              <timestamp>true</timestamp>
+              <success>true</success>
+              <label>true</label>
+              <code>true</code>
+              <message>true</message>
+              <threadName>true</threadName>
+              <dataType>true</dataType>
+              <encoding>false</encoding>
+              <assertions>true</assertions>
+              <subresults>true</subresults>
+              <responseData>false</responseData>
+              <samplerData>false</samplerData>
+              <xml>false</xml>
+              <fieldNames>false</fieldNames>
+              <responseHeaders>false</responseHeaders>
+              <requestHeaders>false</requestHeaders>
+              <responseDataOnError>false</responseDataOnError>
+              <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
+              <assertionsResultsToSave>0</assertionsResultsToSave>
+            </value>
+            <name>saveConfig</name>
+          </objProp>
+          <stringProp name="filename">C:\eclipse\workspace\jbossesb_profile\qa\jmeter\reports\JBossMQ-QueuA-to-A.jtl</stringProp>
+          <boolProp name="ResultCollector.error_logging">false</boolProp>
+        </ResultCollector>
+        <hashTree/>
+      </hashTree>
+    </hashTree>
+  </hashTree>
+</jmeterTestPlan>

Added: labs/jbossesb/trunk/qa/jmeter/Point-to-Point.jmx
===================================================================
--- labs/jbossesb/trunk/qa/jmeter/Point-to-Point.jmx	                        (rev 0)
+++ labs/jbossesb/trunk/qa/jmeter/Point-to-Point.jmx	2007-03-05 13:49:38 UTC (rev 9971)
@@ -0,0 +1,79 @@
+<jmeterTestPlan version="1.2" properties="1.8">
+  <hashTree>
+    <TestPlan guiclass="TestPlanGui" testclass="TestPlan" testname="JBossESB" enabled="true">
+      <elementProp name="TestPlan.user_defined_variables" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+        <collectionProp name="Arguments.arguments"/>
+      </elementProp>
+      <stringProp name="TestPlan.user_define_classpath"></stringProp>
+      <boolProp name="TestPlan.serialize_threadgroups">false</boolProp>
+      <boolProp name="TestPlan.functional_mode">false</boolProp>
+      <stringProp name="TestPlan.comments"></stringProp>
+    </TestPlan>
+    <hashTree>
+      <ThreadGroup guiclass="ThreadGroupGui" testclass="ThreadGroup" testname="Point-to-Point" enabled="true">
+        <longProp name="ThreadGroup.start_time">1172254399000</longProp>
+        <stringProp name="ThreadGroup.delay"></stringProp>
+        <stringProp name="ThreadGroup.duration"></stringProp>
+        <stringProp name="ThreadGroup.num_threads">5</stringProp>
+        <boolProp name="ThreadGroup.scheduler">false</boolProp>
+        <elementProp name="ThreadGroup.main_controller" elementType="LoopController" guiclass="LoopControlPanel" testclass="LoopController" testname="Loop Controller" enabled="true">
+          <stringProp name="LoopController.loops">4</stringProp>
+          <boolProp name="LoopController.continue_forever">false</boolProp>
+        </elementProp>
+        <longProp name="ThreadGroup.end_time">1172254399000</longProp>
+        <stringProp name="ThreadGroup.on_sample_error">continue</stringProp>
+        <stringProp name="ThreadGroup.ramp_time">0</stringProp>
+      </ThreadGroup>
+      <hashTree>
+        <JMSSampler guiclass="JMSConfigGui" testclass="JMSSampler" testname="JMS Point-to-Point" enabled="true">
+          <elementProp name="arguments" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <elementProp name="JMSSampler.jndiProperties" elementType="Arguments" guiclass="ArgumentsPanel" testclass="Arguments" testname="User Defined Variables" enabled="true">
+            <collectionProp name="Arguments.arguments"/>
+          </elementProp>
+          <boolProp name="JMSSampler.isFireAndForget">false</boolProp>
+          <stringProp name="JMSSampler.ReceiveQueue">queue/A</stringProp>
+          <stringProp name="JMSSampler.timeout">2000</stringProp>
+          <stringProp name="JMSSampler.SendQueue">queue/A</stringProp>
+          <stringProp name="JMSSampler.contextProviderUrl">localhost</stringProp>
+          <stringProp name="JMSSampler.queueconnectionfactory">ConnectionFactory</stringProp>
+          <stringProp name="JMSSampler.initialContextFactory">org.jnp.interfaces.NamingContextFactory</stringProp>
+          <stringProp name="HTTPSamper.xml_data">test</stringProp>
+        </JMSSampler>
+        <hashTree/>
+        <ResultCollector guiclass="GraphVisualizer" testclass="ResultCollector" testname="Graph Results" enabled="true">
+          <objProp>
+            <value class="SampleSaveConfiguration">
+              <time>true</time>
+              <latency>true</latency>
+              <timestamp>true</timestamp>
+              <success>true</success>
+              <label>true</label>
+              <code>true</code>
+              <message>true</message>
+              <threadName>true</threadName>
+              <dataType>true</dataType>
+              <encoding>false</encoding>
+              <assertions>true</assertions>
+              <subresults>true</subresults>
+              <responseData>false</responseData>
+              <samplerData>false</samplerData>
+              <xml>false</xml>
+              <fieldNames>false</fieldNames>
+              <responseHeaders>false</responseHeaders>
+              <requestHeaders>false</requestHeaders>
+              <responseDataOnError>false</responseDataOnError>
+              <saveAssertionResultsFailureMessage>false</saveAssertionResultsFailureMessage>
+              <assertionsResultsToSave>0</assertionsResultsToSave>
+            </value>
+            <name>saveConfig</name>
+          </objProp>
+          <stringProp name="filename"></stringProp>
+          <boolProp name="ResultCollector.error_logging">false</boolProp>
+        </ResultCollector>
+        <hashTree/>
+      </hashTree>
+    </hashTree>
+  </hashTree>
+</jmeterTestPlan>

Added: labs/jbossesb/trunk/qa/jmeter/README.txt
===================================================================
--- labs/jbossesb/trunk/qa/jmeter/README.txt	                        (rev 0)
+++ labs/jbossesb/trunk/qa/jmeter/README.txt	2007-03-05 13:49:38 UTC (rev 9971)
@@ -0,0 +1,21 @@
+Did is what I did to run the JMeter tests
+
+1. Intall jakarta-jmeter-2.2 to the root of your file system
+
+2. Start JBoss
+
+3. Start JMeter and load the JBossMQ-QueueA-to-A.jmx. This test will give you
+a baseline. It is designed to simply send JMS messages to queue/A while
+listenening to the same queue/A so it can time the responses. JMeter
+will plot a nice graph of response times over time. You can add more client (user)
+threads to simulate higher load. You should see the throughtput go up as you
+add user threads. For a while anyway until you saturate the system.
+
+4. Once you have the baseline you can deploy the helloworld_action using
+the deployToSAR target. Now, in JMeter you should load the JBossMQ-HelloWorld-Action.jmx.
+This is a very basic load test where a message is sent to a JMS gateway, passed onto
+an ESB listener and then passed on to a JMS notifier which sends it back to the
+queue Jmeter is listening on.
+
+
+

Added: labs/jbossesb/trunk/qa/jmeter/jmeter.properties
===================================================================
--- labs/jbossesb/trunk/qa/jmeter/jmeter.properties	                        (rev 0)
+++ labs/jbossesb/trunk/qa/jmeter/jmeter.properties	2007-03-05 13:49:38 UTC (rev 9971)
@@ -0,0 +1 @@
+jmeter.home=/jakarta-jmeter-2.2
\ No newline at end of file


Property changes on: labs/jbossesb/trunk/qa/jmeter/jmeter.properties
___________________________________________________________________
Name: svn:mime-type
   + text/plain
Name: svn:eol-style
   + native




More information about the jboss-svn-commits mailing list