<div class="wiki-content maincontent"><h2>Running Maven 2 Performance Test</h2><p>This <a shape="rect" href="http://maven.apache.org">Maven 2</a> plugin allows you to run performance tests easily using the Maven command line or run tests automatically in <a shape="rect" href="http://maven.apache.org/continuum/">Continuum</a></p><h3>Prerequisites</h3><p>Starting with ActiveMQ 5.5 and above the plugin can be obtained from maven or if you download the src from SVN you can build it yourself. Start with a complete build of Apache ActiveMQ and then do</p><structured-macro ac:macro-id="c6fb7f0e-3ec4-4bc2-99f8-73981b4a2632" ac:name="code" ac:schema-version="1"><plain-text-body>cd activemq-tooling
mvn clean install
</plain-text-body></structured-macro><p>To run the following Maven goals make sure you are inside a Maven2 project directory where its POM is enabled with the Maven2 plugin.</p><h3>Getting started</h3><p>To get started, switch to the <a shape="rect" href="http://svn.apache.org/repos/asf/activemq/sandbox/activemq-perftest/">activemq-perftest directory from the sandbox repo,</a> or to a directory containing your own Maven POM with the following plugin defined:</p><structured-macro ac:macro-id="2c15fc65-ce23-493b-be3c-8ea36a92b396" ac:name="code" ac:schema-version="1"><parameter ac:name="language">xml</parameter><plain-text-body>&lt;plugin&gt;
  &lt;groupId&gt;org.apache.activemq.tooling&lt;/groupId&gt;
  &lt;artifactId&gt;activemq-perf-maven-plugin&lt;/artifactId&gt;
  &lt;version&gt;${activemq-version}&lt;/version&gt;
&lt;/plugin&gt;</plain-text-body></structured-macro><p>In ActiveMQ versions prior to 5.8, the artifactId was <code>maven-activemq-perf-plugin</code>.</p><p>Type the following commands into separate shells (the broker line here is optional if you have a preconfigured one running):</p><structured-macro ac:macro-id="8fc512ad-245c-443a-a654-bdaac2c57077" ac:name="code" ac:schema-version="1"><plain-text-body>mvn activemq-perf:broker -Durl=broker:tcp://localhost:61616
mvn activemq-perf:consumer
mvn activemq-perf:producer
</plain-text-body></structured-macro><p>If you run the broker on a different machine then change the producer and consumer commands to</p><structured-macro ac:macro-id="1ba10e61-a093-4898-a871-9d2804bc9b79" ac:name="code" ac:schema-version="1"><plain-text-body>mvn activemq-perf:consumer -Dfactory.brokerURL=tcp://host:port
mvn activemq-perf:producer -Dfactory.brokerURL=tcp://host:port
</plain-text-body></structured-macro><p>where you switch host:port with the actual values.</p><p>When you run the producer &amp; consumer, it generates an XML performance report in the current directory, so that you can graph and chart the results etc. See the <link><page ri:content-title="sample report"></page></link></p><h3>Maven goals</h3><table><tbody><tr><th colspan="1" rowspan="1"><p>Goal</p></th><th colspan="1" rowspan="1"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1"><p>activemq-perf:broker</p></td><td colspan="1" rowspan="1"><p>Starts broker using the activemq configuration file located in "src\main\resources\broker-conf" where the default config is activemq.xml. <br clear="none" class="atl-forced-newline"> Parameters: <br clear="none" class="atl-forced-newline"> &#160;1. -DconfigType - specifies the type of configuration to use. Its value must be one of the filename in the "..\broker-config" directory (e.g. -DconfigType=kaha). <br clear="none" class="atl-forced-newline"> &#160;2. -DconfigFile - path to config file other than those in "src\..\broker-config".e.g -DconfigFile=c:\dir\activemq.xml)</p></td></tr><tr><td colspan="1" rowspan="1"><p>activemq-perf:consumer</p></td><td colspan="1" rowspan="1"><p>Starts the consumer's performance testing. The generated report file can be found in the directory specified in the parameter "sysTest.reportDir".</p></td></tr><tr><td colspan="1" rowspan="1"><p>activemq-perf:producer</p></td><td colspan="1" rowspan="1"><p>Starts the producer's performance testing. The generated report file can be found in the directory specified in the parameter "sysTest.reportDir".</p></td></tr></tbody></table><p><sup>1</sup> <strong>Note</strong>:The parameters for both consumer and producers are described in the next section. (<link><page ri:content-title="sample report"></page></link>)</p><h3>Configuration for running a system of JMS Clients (Producer/Consumer)</h3><table><tbody><tr><th colspan="1" rowspan="1"><p>Configuration Key</p></th><th colspan="1" rowspan="1"><p>Default Value</p></th><th colspan="1" rowspan="1"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1"><p>sysTest.propsConfigFile</p></td><td colspan="1" rowspan="1"><p>null</p></td><td colspan="1" rowspan="1"><p>Use properties specified externally in a key=value properties file</p></td></tr><tr><td colspan="1" rowspan="1"><p>sysTest.clientPrefix</p></td><td colspan="1" rowspan="1"><p>JmsConsumer or JmsProducer</p></td><td colspan="1" rowspan="1"><p>Specifies the client name prefix that will be use for each system. By default it will use JmsConsumer for consumer systems, and JmsProducer for producer systems.</p></td></tr><tr><td colspan="1" rowspan="1"><p>sysTest.numClients</p></td><td colspan="1" rowspan="1"><p>1</p></td><td colspan="1" rowspan="1"><p>Specifies the number of JMS Clients to start.</p></td></tr><tr><td colspan="1" rowspan="1"><p>sysTest.totalDests</p></td><td colspan="1" rowspan="1"><p>1</p></td><td colspan="1" rowspan="1"><p>Specifies the total number of destinations to use for the whole system test.</p></td></tr><tr><td colspan="1" rowspan="1"><p>sysTest.destDistro</p></td><td colspan="1" rowspan="1"><p>all</p></td><td colspan="1" rowspan="1"><p>Specifies how to distribute the destinations to the clients. Available values are (Invalid value will result to using the default value 'all')<sup>1</sup>:</p><ul><li>'all' - All clients will send/receive to all destinations. i.e. if there are 2 producers and 5 destinations, each producer will send a message to each individual destination.</li><li>'equal' - Clients will equally divide the destinations among themselves. i.e. if there are 2 producers and 5 destinations, each producer will send messages to 2 destinations. The fifth destination will not be used.</li><li>'divide' - Clients will divide the destinations among themselves regardless of equality. i.e. if there are 2 producers and 5 destinations, producer 1 will send to 3 destinations, while producer 2 will send to 2 destinations.</li></ul></td></tr><tr><td colspan="1" rowspan="1"><p>sysTest.reportDir</p></td><td colspan="1" rowspan="1"><p>./</p></td><td colspan="1" rowspan="1"><p>The directory where the sampler report will be saved.</p></td></tr><tr><td colspan="1" rowspan="1"><p>sysTest.reportName</p></td><td colspan="1" rowspan="1"><p>null</p></td><td colspan="1" rowspan="1"><p>The default filename the sampler report will be saved us. There is usually no need to set this setting as the default value will create either JmsProducer_numClients#<em>numDests#</em>&lt;Dest Distro&gt;.xml and JmsConsumer_numClients#_numDests#_&lt;Dest Distro&gt;.xml, where # represents the number of clients and destinations set for that system, and &lt;Dest Distro&gt; specifies the destination distribution for the system.</p></td></tr><tr><td colspan="1" rowspan="1"><p>sysTest.reportType</p></td><td colspan="1" rowspan="1"><p>xml</p></td><td colspan="1" rowspan="1"><p>Specifies the manner of generating the performance report. Available values are:</p><ul><li>'xml' - Write the performance report into an xml file. Specified by reportDirectory and reportName. A verbose summary will also be displayed at the end of the test.</li><li>'verbose' - All information will be written to the standard output, which includes settings, sampler data, and performance summary.</li></ul></td></tr><tr><td colspan="1" rowspan="1"><p>sysTest.samplers</p></td><td colspan="1" rowspan="1"><p>tp,cpu</p></td><td colspan="1" rowspan="1"><p>Specifies the samplers that will be started. To use enable more than one sampler, separate the values by commas without spaces. Available values are:</p><ul><li>'tp' - Throughput sampler</li><li>'cpu' - CPU Usage sampler</li></ul></td></tr><tr><td colspan="1" rowspan="1"><p>sysTest.spiClass</p></td><td colspan="1" rowspan="1"><p>org.apache.activemq.tool.spi.ActiveMQClassLoaderSPI</p></td><td colspan="1" rowspan="1"><p>The service provider interface class that allows the client to create a generic connection factory. Current available SPI classes include:</p><ol><li>'org.apache.activemq.tool.ActiveMQPojoSPI'</li><li>'org.apache.activemq.tool.ActiveMQClassLoaderSPI'</li></ol></td></tr></tbody></table><p><sup>1</sup> <strong>Note</strong>: If the number of destinations is less than the number of clients and the distribution type is either 'equal' or 'divide', each client will send/receive from only one destination, distributing the destinations among the clients. i.e. if there are 5 producers and 2 destinations, 3 producers will send to destination 1, and 2 producers will send to destination 2. Also, a consumer can only receive from a single destination, unless composite destination is supported and specified.</p><h3>Configuration for running a JMS Producer</h3><table><tbody><tr><th colspan="1" rowspan="1"><p>Configuration Key</p></th><th colspan="1" rowspan="1"><p>Default Value</p></th><th colspan="1" rowspan="1"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1"><p>producer.sessTransacted</p></td><td colspan="1" rowspan="1"><p>false</p></td><td colspan="1" rowspan="1"><p>Specifies if the session created will be transacted or not. See the JMS Specifications for more details.</p></td></tr><tr><td colspan="1" rowspan="1"><p>producer.sessAckMode</p></td><td colspan="1" rowspan="1"><p>autoAck</p></td><td colspan="1" rowspan="1"><p>Specified the acknowledge mode of the session. See the JMS Specifications for more details. Available values are:</p><ol><li>'autoAck' - Session.AUTO_ACKNOWLEDGE</li><li>'clientAck' - Session.CLIENT_ACKNOWLEDGE</li><li>'dupsAck' - Session.DUPS_OK_ACKNOWLEDGE</li><li>'transacted' - Session.TRANSACTED</li></ol></td></tr><tr><td colspan="1" rowspan="1"><p>producer.commitAfterXMsgs</p></td><td colspan="1" rowspan="1"><p>1</p></td><td colspan="1" rowspan="1"><p>Commit transaction after the specified amount of messages. Only used in conjunction with a transacted JMS Session (producer.sessTransacted=true and producer.sessAckMode=transacted)</p></td></tr><tr><td colspan="1" rowspan="1"><p>producer.destName</p></td><td colspan="1" rowspan="1"><p>TEST.FOO</p></td><td colspan="1" rowspan="1"><p>The prefix of the destination name to use. To specify a queue, prefix the destination name with 'queue://', for topics, prefix the destination with 'topic://'. If no prefix is specified, a topic will be created.</p></td></tr><tr><td colspan="1" rowspan="1"><p>producer.destComposite</p></td><td colspan="1" rowspan="1"><p>false</p></td><td colspan="1" rowspan="1"><p>If there are more than one destination, and destComposite=true, the destinations will be merged into one. This assumes that the provider supports composite destinations.</p></td></tr><tr><td colspan="1" rowspan="1"><p>producer.deliveryMode</p></td><td colspan="1" rowspan="1"><p>nonpersistent</p></td><td colspan="1" rowspan="1"><p>The message delivery mode that will be used for each producer. Available values are:</p><ol><li>'nonpersistent' - use non-persistent delivery mode. javax.jms.DeliveryMode.NON_PERSISTENT.</li><li>'persistent' - use persistent delivery mode. javax.jms.DeliveryMode.PERSISTENT.</li></ol></td></tr><tr><td colspan="1" rowspan="1"><p>producer.messageSize</p></td><td colspan="1" rowspan="1"><p>1024 bytes</p></td><td colspan="1" rowspan="1"><p>The size of each text message to send.</p></td></tr><tr><td colspan="1" rowspan="1"><p>producer.msgFileName</p></td><td colspan="1" rowspan="1"><p>null</p></td><td colspan="1" rowspan="1"><p>If you want to send a fixed message from a particular file. The file needs to be a text file. The entire content of the file will be sent as message body. Specifying a file containing the message to be sent makes the producer ignore the property producer.messageSize. Use relative or full path. Example: -Dproducer.msgFileName=../message.xml</p></td></tr><tr><td colspan="1" rowspan="1"><p>producer.createNewMsg</p></td><td colspan="1" rowspan="1"><p>false</p></td><td colspan="1" rowspan="1"><p>If true, each send will create a new JMS Message with the specified message size with incrementing text messages (i.e. Text Message 1, Text Message 2, ...). If false, only one message will be created before the send loop, and this message will be sent over and over again.</p></td></tr><tr><td colspan="1" rowspan="1"><p>producer.sendDelay</p></td><td colspan="1" rowspan="1"><p>0 ms</p></td><td colspan="1" rowspan="1"><p>Pause producer for sendDelay milliseconds after each message (allows producer throttling).</p></td></tr><tr><td colspan="1" rowspan="1"><p>producer.sendType</p></td><td colspan="1" rowspan="1"><p>time</p></td><td colspan="1" rowspan="1"><p>Send either time-based or message-count-based. Available values are:</p><ol><li>'time' - keep sending messages until a specific interval of time elapses.</li><li>'count' - keep sending messages until N messages has been sent.</li></ol></td></tr><tr><td colspan="1" rowspan="1"><p>producer.sendCount</p></td><td colspan="1" rowspan="1"><p>1000000 msgs <br clear="none" class="atl-forced-newline"> (1 million)</p></td><td colspan="1" rowspan="1"><p>If sendType=count, send this number of messages.</p></td></tr><tr><td colspan="1" rowspan="1"><p>producer.sendDuration</p></td><td colspan="1" rowspan="1"><p>300000 ms <br clear="none" class="atl-forced-newline"> (5 mins)</p></td><td colspan="1" rowspan="1"><p>If sendType=time, send messages for this number of milliseconds.</p></td></tr><tr><td colspan="1" rowspan="1"><p>producer.header</p></td><td colspan="1" rowspan="1"><p>none</p></td><td colspan="1" rowspan="1"><p>Specify message headers to be set on all messages. Headers use name=value syntax and can be separated using ':'. More than one header can be set on a single producer.header line, e.g. producer.header="JMSType=car:MyHeader=MyValue" (no spaces). Only one producer.header line is allowed!</p></td></tr></tbody></table><h3>Configuration for running a JMS Consumer</h3><table><tbody><tr><th colspan="1" rowspan="1"><p>Configuration Key</p></th><th colspan="1" rowspan="1"><p>Default Value</p></th><th colspan="1" rowspan="1"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1"><p>consumer.sessTransacted</p></td><td colspan="1" rowspan="1"><p>false</p></td><td colspan="1" rowspan="1"><p>Specifies if the session created will be transacted or not. See the JMS Specifications for more details.</p></td></tr><tr><td colspan="1" rowspan="1"><p>consumer.sessAckMode</p></td><td colspan="1" rowspan="1"><p>autoAck</p></td><td colspan="1" rowspan="1"><p>Specified the acknowledge mode of the session. See the JMS Specifications for more details. Available values are:</p><ol><li>'autoAck' - Session.AUTO_ACKNOWLEDGE</li><li>'clientAck' - Session.CLIENT_ACKNOWLEDGE</li><li>'dupsAck' - Session.DUPS_OK_ACKNOWLEDGE</li><li>'transacted' - Session.TRANSACTED</li></ol></td></tr><tr><td colspan="1" rowspan="1"><p>consumer.commitAfterXMsgs</p></td><td colspan="1" rowspan="1"><p>1</p></td><td colspan="1" rowspan="1"><p>Commit transaction after the specified amount of messages. Only used in conjunction with a transacted JMS Session (consumer.sessTransacted=true and consumer.sessAckMode=transacted)</p></td></tr><tr><td colspan="1" rowspan="1"><p>consumer.destName</p></td><td colspan="1" rowspan="1"><p>TEST.FOO</p></td><td colspan="1" rowspan="1"><p>The prefix of the destination name to use. To specify a queue, prefix the destination name with 'queue://', for topics, prefix the destination with 'topic://'. If no prefix is specified, a topic will be created.</p></td></tr><tr><td colspan="1" rowspan="1"><p>consumer.destComposite</p></td><td colspan="1" rowspan="1"><p>false</p></td><td colspan="1" rowspan="1"><p>If there are more than one destination, and destComposite=true, the destinations will be merged into one. This assumes that the provider supports composite destinations.</p></td></tr><tr><td colspan="1" rowspan="1"><p>consumer.durable</p></td><td colspan="1" rowspan="1"><p>false</p></td><td colspan="1" rowspan="1"><p>If true, create a durable subscriber, otherwise create a message consumer. See the JMS Specifications for more details.</p></td></tr><tr><td colspan="1" rowspan="1"><p>consumer.asyncRecv</p></td><td colspan="1" rowspan="1"><p>true</p></td><td colspan="1" rowspan="1"><p>If true, asynchronously receive messages using the onMessage() method, otherwise use the receive() method.</p></td></tr><tr><td colspan="1" rowspan="1"><p>consumer.recvDelay</p></td><td colspan="1" rowspan="1"><p>0 ms</p></td><td colspan="1" rowspan="1"><p>Pause consumer for recvDelay milliseconds with each message (allows consumer throttling).</p></td></tr><tr><td colspan="1" rowspan="1"><p>consumer.recvType</p></td><td colspan="1" rowspan="1"><p>time</p></td><td colspan="1" rowspan="1"><p>Receive either time-based or message-count-based. Available values are:</p><ol><li>'time' - keep receiving messages until a specific time interval has elapsed.</li><li>'count' - keep receiving until N messages has been received.</li></ol></td></tr><tr><td colspan="1" rowspan="1"><p>consumer.recvCount</p></td><td colspan="1" rowspan="1"><p>1000000 msgs <br clear="none" class="atl-forced-newline"> (1 million)</p></td><td colspan="1" rowspan="1"><p>If recvType=count, receive this much messages.</p></td></tr><tr><td colspan="1" rowspan="1"><p>consumer.recvDuration</p></td><td colspan="1" rowspan="1"><p>300000 ms <br clear="none" class="atl-forced-newline"> (5 mins)</p></td><td colspan="1" rowspan="1"><p>If recvType=time, receive messages for this specific time duration.</p></td></tr><tr><td colspan="1" rowspan="1"><p>consumer.messageSelector</p></td><td colspan="1" rowspan="1"><p>none</p></td><td colspan="1" rowspan="1"><p>Specify <a shape="rect" href="http://activemq.apache.org/selectors.html">message selector</a> for all consumers. E.g. consumer.messageSelector="MyHeader = 'MyValue' AND JMSType = 'car'"</p></td></tr></tbody></table><p><strong>Note</strong>: If you have more than one consumer receiving from multiple destinations, it is a good idea to change the sysTest.destDistro to 'equal', since by default it uses 'all' and a consumer can only receive from a single destination, hence all consumers will receive from the first destination in the list only.</p><h3>Configuration for SPI Connection Factory: org.apache.activemq.tool.spi.ActiveMQPojoSPI</h3><p><strong>Description:</strong> This provides details in configuring the JMS Connection Factory created by ActiveMQPojoSPI. Default values are based from the default values of the service provider org.apache.activemq.ActiveMQConnectionFactory.</p><table><tbody><tr><th colspan="1" rowspan="1"><p>Configuration Key</p></th><th colspan="1" rowspan="1"><p>Default Value</p></th><th colspan="1" rowspan="1"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1"><p>factory.brokerURL</p></td><td colspan="1" rowspan="1"><p>tcp://localhost:61616</p></td><td colspan="1" rowspan="1"><p>The url of the broker the client will connect to.</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.userName</p></td><td colspan="1" rowspan="1"><p>null</p></td><td colspan="1" rowspan="1"><p>Username on the connection to use.</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.password</p></td><td colspan="1" rowspan="1"><p>null</p></td><td colspan="1" rowspan="1"><p>Password on the connection to use.</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.clientID</p></td><td colspan="1" rowspan="1"><p>null</p></td><td colspan="1" rowspan="1"><p>Client ID the connection will use. If none is specified, it will be automatically generated.</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.asyncSend</p></td><td colspan="1" rowspan="1"><p>false</p></td><td colspan="1" rowspan="1"><p>If true, asynchronously send messages.</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.asyncDispatch</p></td><td colspan="1" rowspan="1"><p>false</p></td><td colspan="1" rowspan="1"><p>If true, asynchronously dispatch messages.</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.asyncSession</p></td><td colspan="1" rowspan="1"><p>true</p></td><td colspan="1" rowspan="1"><p>If true, session will dispatch messages asynchronously.</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.closeTimeout</p></td><td colspan="1" rowspan="1"><p>15000 ms</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.copyMsgOnSend</p></td><td colspan="1" rowspan="1"><p>true</p></td><td colspan="1" rowspan="1"><p>If true, creates a copy of the message to be sent.</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.disableTimestamp</p></td><td colspan="1" rowspan="1"><p>false</p></td><td colspan="1" rowspan="1"><p>If true, disable the setting of the JMSTimestamp.</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.deferObjSerial</p></td><td colspan="1" rowspan="1"><p>false</p></td><td colspan="1" rowspan="1"><p>If true, defer the serialization of message objects.</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.optimAck</p></td><td colspan="1" rowspan="1"><p>true</p></td><td colspan="1" rowspan="1"><p>If true, optimizes the acknowledgement of messages.</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.optimDispatch</p></td><td colspan="1" rowspan="1"><p>true</p></td><td colspan="1" rowspan="1"><p>If true, optimizes the dispatching of messages.</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.prefetchQueue</p></td><td colspan="1" rowspan="1"><p>1000 messages</p></td><td colspan="1" rowspan="1"><p>Number of messages a queue consumer will cache in RAM before processing it.</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.prefetchTopic</p></td><td colspan="1" rowspan="1"><p>32766 messages</p></td><td colspan="1" rowspan="1"><p>Number of messages a topic consumer will cache in RAM before processing it.</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.useCompression</p></td><td colspan="1" rowspan="1"><p>false</p></td><td colspan="1" rowspan="1"><p>If true, compress message data.</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.useRetroactive</p></td><td colspan="1" rowspan="1"><p>false</p></td><td colspan="1" rowspan="1"><p>If true, make consumers retroactive.</p></td></tr></tbody></table><h3>Configuration for SPI Connection Factory: org.apache.activemq.tool.spi.ActiveMQClassLoaderSPI</h3><p><strong>Description:</strong> This provides details in configuring the JMS Connection Factory created by ActiveMQClassLoaderSPI. Default values are based from the default values of the service provider org.apache.activemq.ActiveMQConnectionFactory.</p><p>ActiveMQClassLoaderSPI loads from the classpath "org.apache.activemq.ActiveMQConnectionFactory" and configures it using reflection. Configuration is generally based on the API of the class loaded. General format is factory.YYY or factory.XXX.YYY, where the last variable (YYY) is the property to set and everything in between is the getter of the class to use to set (YYY). For example:</p><ol><li>To set the value for asyncSend in ActiveMQConnectionFactory, use:<br clear="none"> <code>factory.useAsyncSend=true</code>, which is equivalent to calling <code>factory.setUseAsyncSend(true)</code></li></ol><ol><li>To set the queue prefetch for ActiveMQConnectionFactory, use:<br clear="none"> <code>factory.prefetchPolicy.queuePrefetch=1</code>, which is equivalent to calling <code>factory.getPrefetchPolicy().setQueuePrefetch(1)</code></li></ol><p>It should be noted that the loaded class should implement the appropriate getter and setter methods. Nested objects should also be properly instantiated. For more information on configuring this SPI, refer to the specific provider API manual.</p><p>As of ActiveMQ 4.0.1, these are the available fields and default values:</p><table><tbody><tr><th colspan="1" rowspan="1"><p>Configuration Key</p></th><th colspan="1" rowspan="1"><p>Default Value</p></th></tr><tr><td colspan="1" rowspan="1"><p>factory.prefetchPolicy.optimizeDurableTopicPrefetch</p></td><td colspan="1" rowspan="1"><p>1000</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.prefetchPolicy.durableTopicPrefetch</p></td><td colspan="1" rowspan="1"><p>100</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.password</p></td><td colspan="1" rowspan="1"><p>null</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.prefetchPolicy.queueBrowserPrefetch</p></td><td colspan="1" rowspan="1"><p>500</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.useCompression</p></td><td colspan="1" rowspan="1"><p>false</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.disableTimeStampsByDefault</p></td><td colspan="1" rowspan="1"><p>false</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.optimizedMessageDispatch</p></td><td colspan="1" rowspan="1"><p>true</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.useRetroactiveConsumer</p></td><td colspan="1" rowspan="1"><p>false</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.alwaysSessionAsync</p></td><td colspan="1" rowspan="1"><p>true</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.copyMessageOnSend</p></td><td colspan="1" rowspan="1"><p>true</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.prefetchPolicy.topicPrefetch</p></td><td colspan="1" rowspan="1"><p>32766</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.useAsyncSend</p></td><td colspan="1" rowspan="1"><p>false</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.redeliveryPolicy.backOffMultiplier</p></td><td colspan="1" rowspan="1"><p>5</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.prefetchPolicy.inputStreamPrefetch</p></td><td colspan="1" rowspan="1"><p>100</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.closeTimeout</p></td><td colspan="1" rowspan="1"><p>15000</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.userName</p></td><td colspan="1" rowspan="1"><p>null</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.optimizeAcknowledge</p></td><td colspan="1" rowspan="1"><p>false</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.clientID</p></td><td colspan="1" rowspan="1"><p>null</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.objectMessageSerializationDefered</p></td><td colspan="1" rowspan="1"><p>false</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.asyncDispatch</p></td><td colspan="1" rowspan="1"><p>false</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.redeliveryPolicy.initialRedeliveryDelay</p></td><td colspan="1" rowspan="1"><p>1000</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.prefetchPolicy.queuePrefetch</p></td><td colspan="1" rowspan="1"><p>1000</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.redeliveryPolicy.maximumRedeliveries</p></td><td colspan="1" rowspan="1"><p>5</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.redeliveryPolicy.useCollisionAvoidance</p></td><td colspan="1" rowspan="1"><p>false</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.prefetchPolicy.maximumPendingMessageLimit</p></td><td colspan="1" rowspan="1"><p>0</p></td></tr><tr><td colspan="1" rowspan="1"><p>factory.redeliveryPolicy.useExponentialBackOff</p></td><td colspan="1" rowspan="1"><p>false</p></td></tr></tbody></table><h3>Configuration for samplers</h3><p>There are two samplers built into the perfomance test tool. Both are configured with the same configuration keys, only prefixed with different sampler names.</p><table><tbody><tr><th colspan="1" rowspan="1">Sampler</th><th colspan="1" rowspan="1"><em>samplerName</em></th></tr><tr><td colspan="1" rowspan="1">Throughput Sampler</td><td colspan="1" rowspan="1">tpSampler</td></tr><tr><td colspan="1" rowspan="1">CPU Sampler</td><td colspan="1" rowspan="1">cpuSampler</td></tr></tbody></table><p>For example, it is possible to configure the two samplers differently for a single test run, using the prefixes above as follows:</p><structured-macro ac:macro-id="201b85f5-de18-40d6-b623-52da8b1250dc" ac:name="code" ac:schema-version="1"><plain-text-body>mvn activemq-perf:producer -DtpSampler.duration=10000 -DcpuSampler.duration=15000</plain-text-body></structured-macro><p>By default, both samplers are used within a test run. This however, can be overridden through the use of the <code>sysTest.samplers</code> property.</p><h4>Before ActiveMQ 5.11</h4><p>Sampler configurations are not tied in to the test run, so it is possible for the sampler to run for longer than the actual test itself. For short run durations, the sampler may not even have ramped up before the test completes.</p><table><tbody><tr><th colspan="1" rowspan="1"><p>Configuration Key</p></th><th colspan="1" rowspan="1"><p>Default Value</p></th><th colspan="1" rowspan="1"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1"><p><em>samplerName</em>.duration</p></td><td colspan="1" rowspan="1"><p>300000</p></td><td colspan="1" rowspan="1"><p>The total duration (in ms) the sampler will run, including ramp up and ramp down time.</p></td></tr><tr><td colspan="1" rowspan="1"><p><em>samplerName</em>.rampUpTime</p></td><td colspan="1" rowspan="1"><p>30000</p></td><td colspan="1" rowspan="1"><p>The ramp up time of the sampler, sampling will only start after the ramp up time.</p></td></tr><tr><td colspan="1" rowspan="1"><p><em>samplerName</em>.rampDownTime</p></td><td colspan="1" rowspan="1"><p>30000</p></td><td colspan="1" rowspan="1"><p>The ramp down time of the sampler, sampling will stop when the sampler has executed for (duration - rampUpTime - rampDownTime) ms.</p></td></tr><tr><td colspan="1" rowspan="1"><p><em>samplerName</em>.interval</p></td><td colspan="1" rowspan="1"><p>1000</p></td><td colspan="1" rowspan="1"><p>The interval (in ms), the sampler will sample for data.</p></td></tr></tbody></table><h4>From ActiveMQ 5.11</h4><p>Sampler run duration is tied directly to the behavior of the client (producer/consumer). Due to the non-deterministic nature of count-based tests (where consumer.recvType or producer.sendType are set to <code>count</code>), duration, ramp up and ramp down times are ignored; the samplers are shut down when the client completes.</p><table><tbody><tr><th colspan="1" rowspan="1"><p>Configuration Key</p></th><th colspan="1" rowspan="1"><p>Default Value</p></th><th colspan="1" rowspan="1"><p>Description</p></th></tr><tr><td colspan="1" rowspan="1"><p><em>samplerName</em>.duration</p></td><td colspan="1" rowspan="1"><p>For time-based tests, matches the consumer or producer duration.</p><p><em>Ignored for count-based tests.</em></p></td><td colspan="1" rowspan="1"><p>The total duration (in ms) the sampler will run, including ramp up and ramp down time.</p></td></tr><tr><td colspan="1" rowspan="1"><p><em>samplerName</em>.rampUpTime</p></td><td colspan="1" rowspan="1"><p>null; defers to rampUpPercent.</p><p><em>Ignored for count-based tests.</em></p></td><td colspan="1" rowspan="1"><p>The ramp up time of the sampler, sampling will only start after the ramp up time.</p></td></tr><tr><td colspan="1" rowspan="1"><p><em>samplerName</em>.rampDownTime</p></td><td colspan="1" rowspan="1"><p>null; defers to rampDownPercent.</p><p><em>Ignored for count-based tests.</em></p></td><td colspan="1" rowspan="1"><p>The ramp down time of the sampler, sampling will stop when the sampler has executed for (duration - rampUpTime - rampDownTime) ms.</p></td></tr><tr><td colspan="1" rowspan="1"><em>samplerName</em>.rampUpPercent</td><td colspan="1" rowspan="1"><p>0</p><p><em>Ignored for count-based tests.</em></p></td><td colspan="1" rowspan="1">The percentage of the overall run duration that the sampler should use to ramp up (0-100). Overridden by rampUpTime.</td></tr><tr><td colspan="1" rowspan="1"><em>samplerName</em>.rampDownPercent</td><td colspan="1" rowspan="1"><p>0</p><p><em>Ignored for count-based tests.</em></p></td><td colspan="1" rowspan="1">The percentage of the overall run duration that the sampler should use to ramp down (0-99). Overridden by rampDownTime.</td></tr><tr><td colspan="1" rowspan="1"><p><em>samplerName</em>.interval</p></td><td colspan="1" rowspan="1"><p>1000</p></td><td colspan="1" rowspan="1"><p>The interval (in ms), the sampler will sample for data.</p></td></tr></tbody></table><p>The time taken to ramp up and ramp down, whether defined through milliseconds or as a percentage cannot exceed the total duration.</p></div>

