diff options
Diffstat (limited to 'qpid/java/perftests/build.xml')
-rw-r--r-- | qpid/java/perftests/build.xml | 339 |
1 files changed, 339 insertions, 0 deletions
diff --git a/qpid/java/perftests/build.xml b/qpid/java/perftests/build.xml new file mode 100644 index 0000000000..497bfc8035 --- /dev/null +++ b/qpid/java/perftests/build.xml @@ -0,0 +1,339 @@ +<!-- + - + - Licensed to the Apache Software Foundation (ASF) under one + - or more contributor license agreements. See the NOTICE file + - distributed with this work for additional information + - regarding copyright ownership. The ASF licenses this file + - to you under the Apache License, Version 2.0 (the + - "License"); you may not use this file except in compliance + - with the License. You may obtain a copy of the License at + - + - http://www.apache.org/licenses/LICENSE-2.0 + - + - Unless required by applicable law or agreed to in writing, + - software distributed under the License is distributed on an + - "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + - KIND, either express or implied. See the License for the + - specific language governing permissions and limitations + - under the License. + - + --> +<project name="Performance Tests" default="build"> + + <property name="module.depends" value="systests client broker common common/test junit-toolkit"/> + + <import file="../module.xml"/> + + <property name="xms" value="-Xms256m"/> + <property name="xmx" value="-Xmx1024m"/> + <property name="test.logging.level" value="-Damqj.test.logging.level=info"/> + <property name="qpid.logging.level" value="-Damqj.logging.level=warn"/> + <property name="log4j.config" value="-Dlog4j.configuration=perftests.log4j"/> + <property name="properties" value="perftests.properties"/> + <property name="scripts.dir" value="${build.bin}/${module.name}"/> + + <condition property="results" value="${result-path}/results" else="${project.root}/${module}/results"> + <isset property="result-path"/> + </condition> + + <property name="scripts.timestamp" location="${build.scratch}/perftests/scripts.timestamp" /> + + <target name="check_scripts_uptodate"> + <uptodate property="scripts.notRequired" targetfile="${scripts.timestamp}"> + <srcfiles dir="${scripts.dir}" includes="**.sh" /> + <srcfiles dir="${project.root}/perftests/" includes="scripts.xml" /> + </uptodate> + </target> + + <target name="precompile" depends="check_scripts_uptodate" unless="scripts.notRequired"> + <mkdir dir="${scripts.dir}"/> + <jython path="${mllib.dir}"> + <args> + <arg value="generate-scripts"/> + <arg value="scripts.xml"/> + <arg value="${scripts.dir}"/> + </args> + </jython> + <touch file="${scripts.timestamp}" /> + </target> + + <target name="all-tests" depends="all-queue-tests,all-topic-tests"/> + + <target name="all-queue-tests" depends="Queue-Duration-Persistent,Queue-Concurrent, + Queue-Duration,Queue-Latency,Queue-Duration-Transacted,Queue-LargeMessage-Persistent"/> + + <target name="all-topic-tests" depends="Topic-Concurrent,Topic-Duration,Topic-Latency, + Topic-Duration-Transacted"/> + + <!-- Queue tests --> + + <!-- + Send 10000 (.5K) messages and measure the time for receiving 1000 messages (10 intervals) + the overall latency is also calculated (See Test * Size Throughput) + Note that "Test Throughput" is the average time for receiving 1000 messages + --> + <target name="Queue-Latency" depends="build" description="Run Queue-Latency"> + <java classname="org.apache.qpid.junit.extensions.TKTestRunner" fork="true"> + <classpath refid="module.test.path"/> + <jvmarg value="${xms}"/> + <jvmarg value="${xmx}"/> + <jvmarg value="${test.logging.level}"/> + <jvmarg value="${qpid.logging.level}"/> + <jvmarg value="${log4j.config}"/> + <!-- args --> + <arg value="-n Queue-Latency"/> + <arg value="-s[10000]"/> + <arg value="-t testPingLatency"/> + <arg value="-o${results}"/> + <arg value="--csv"/> + <arg value="org.apache.qpid.ping.PingLatencyTestPerf"/> + <arg value="rate=100"/> + <arg value="batchSize=1000"/> + <arg value="messageSize=512"/> + </java> + </target> + + <!-- + Measure the time required for one producer/consumer pair + for sending and receiving 10000 transient messages. + The test last for 5 minutes. + --> + <target name="Queue-Duration" depends="build" description=""> + <java classname="org.apache.qpid.junit.extensions.TKTestRunner" fork="true"> + <classpath refid="module.test.path"/> + <jvmarg value="${xms}"/> + <jvmarg value="${xmx}"/> + <jvmarg value="${test.logging.level}"/> + <jvmarg value="${qpid.logging.level}"/> + <jvmarg value="${log4j.config}"/> + <!-- args --> + <arg value="-d5M"/> + <arg value="-n Queue-Duration"/> + <arg value="-s[1000]"/> + <arg value="-t testAsyncPingOk"/> + <arg value="-o${results}"/> + <arg value="--csv"/> + <arg value="org.apache.qpid.ping.PingAsyncTestPerf"/> + <arg value="messageSize=512"/> + </java> + </target> + + <!-- + Measure the time required for one producer/consumer pair + for sending and receiving 10000 0.5K persistent messages. + The test last for 5 minutes. + --> + <target name="Queue-Duration-Persistent" depends="build" description=""> + <java classname="org.apache.qpid.junit.extensions.TKTestRunner" fork="true"> + <classpath refid="module.test.path"/> + <jvmarg value="${xms}"/> + <jvmarg value="${xmx}"/> + <jvmarg value="${test.logging.level}"/> + <jvmarg value="${qpid.logging.level}"/> + <jvmarg value="${log4j.config}"/> + <!-- args --> + <arg value="-d5M"/> + <arg value="-n Queue-Duration-Persistent"/> + <arg value="-s[1000]"/> + <arg value="-t testAsyncPingOk"/> + <arg value="-o${results}"/> + <arg value="--csv"/> + <arg value="org.apache.qpid.ping.PingAsyncTestPerf"/> + <arg value="persistent=true"/> + <arg value="messageSize=512"/> + </java> + </target> + + <!-- + Measure the time required for one producer/consumer pair + for sending and receiving 10000 100K persistent messages. + The test last for 5 minutes. + --> + <target name="Queue-LargeMessage-Persistent" depends="build" description=""> + <java classname="org.apache.qpid.junit.extensions.TKTestRunner" fork="true"> + <classpath refid="module.test.path"/> + <jvmarg value="${xms}"/> + <jvmarg value="${xmx}"/> + <jvmarg value="${test.logging.level}"/> + <jvmarg value="${qpid.logging.level}"/> + <jvmarg value="${log4j.config}"/> + <!-- args --> + <arg value="-d5M"/> + <arg value="-n Queue-LargeMessage-Persistent"/> + <arg value="-s[1000]"/> + <arg value="-t testAsyncPingOk"/> + <arg value="-o${results}"/> + <arg value="--csv"/> + <arg value="org.apache.qpid.ping.PingAsyncTestPerf"/> + <arg value="persistent=true"/> + <arg value="messageSize=102400"/> + </java> + </target> + + <!-- + Measure the time required for one (transacted producer)/(Transacted consumer) pair + for sending and receiving 10000 (0.5K) persistent messages. + Tx batch size is 100 (consumer and producer) + The test last for 5 minutes. + --> + <target name="Queue-Duration-Transacted" depends="build" description=""> + <java classname="org.apache.qpid.junit.extensions.TKTestRunner" fork="true"> + <classpath refid="module.test.path"/> + <jvmarg value="${xms}"/> + <jvmarg value="${xmx}"/> + <jvmarg value="${test.logging.level}"/> + <jvmarg value="${qpid.logging.level}"/> + <jvmarg value="${log4j.config}"/> + <!-- args --> + <arg value="-d5M"/> + <arg value="-n Queue-Duration-Transacted"/> + <arg value="-s[1000]"/> + <arg value="-t testAsyncPingOk"/> + <arg value="-o${results}"/> + <arg value="--csv"/> + <arg value="org.apache.qpid.ping.PingAsyncTestPerf"/> + <arg value="persistent=true"/> + <arg value="transacted=true"/> + <arg value="batchSize=100"/> + <arg value="consTransacted=true"/> + <arg value="commitBatchSize=100"/> + <arg value="messageSize=512"/> + </java> + </target> + + <!-- + Measure the time for four concurrent producer/receiver pairs to send and receive 1000 transient messages + --> + <target name="Queue-Concurrent" depends="build" description=""> + <java classname="org.apache.qpid.junit.extensions.TKTestRunner" fork="true"> + <classpath refid="module.test.path"/> + <jvmarg value="${xms}"/> + <jvmarg value="${xmx}"/> + <jvmarg value="${test.logging.level}"/> + <jvmarg value="${qpid.logging.level}"/> + <jvmarg value="${log4j.config}"/> + <!-- args --> + <arg value="-r1"/> + <arg value="-n Queue-Concurrent"/> + <arg value="-s[1000]"/> + <arg value="-c[4]"/> + <arg value="-t testAsyncPingOk"/> + <arg value="-o${results}"/> + <arg value="--csv"/> + <arg value="org.apache.qpid.ping.PingAsyncTestPerf"/> + <arg value="messageSize=512"/> + </java> + </target> + + + <!-- Topic tests --> + + <!-- + Send 10000 (.5K) messages and measure the time for receiving 1000 messages (10 intervals) + the overall latency is also calculated (See Test * Size Throughput) + Note that "Test Throughput" is the average time for receiving 1000 messages + --> + <target name="Topic-Latency" depends="build" description="Run Queue-Latency"> + <java classname="org.apache.qpid.junit.extensions.TKTestRunner" fork="true"> + <classpath refid="module.test.path"/> + <jvmarg value="${xms}"/> + <jvmarg value="${xmx}"/> + <jvmarg value="${test.logging.level}"/> + <jvmarg value="${qpid.logging.level}"/> + <jvmarg value="${log4j.config}"/> + <!-- args --> + <arg value="-n Topic-Latency"/> + <arg value="-s[10000]"/> + <arg value="-t testPingLatency"/> + <arg value="-o${results}"/> + <arg value="--csv"/> + <arg value="org.apache.qpid.ping.PingLatencyTestPerf"/> + <arg value="rate=100"/> + <arg value="batchSize=1000"/> + <arg value="messageSize=512"/> + <arg value="pubsub=true"/> + </java> + </target> + + <!-- + Measure the time required for one producer/consumer pair + for sending and receiving 10000 transient messages. + The test last for 5 minutes. + --> + <target name="Topic-Duration" depends="build" description=""> + <java classname="org.apache.qpid.junit.extensions.TKTestRunner" fork="true"> + <classpath refid="module.test.path"/> + <jvmarg value="${xms}"/> + <jvmarg value="${xmx}"/> + <jvmarg value="${test.logging.level}"/> + <jvmarg value="${qpid.logging.level}"/> + <jvmarg value="${log4j.config}"/> + <!-- args --> + <arg value="-d5M"/> + <arg value="-n Topic-Duration"/> + <arg value="-s[1000]"/> + <arg value="-t testAsyncPingOk"/> + <arg value="-o${results}"/> + <arg value="--csv"/> + <arg value="org.apache.qpid.ping.PingAsyncTestPerf"/> + <arg value="messageSize=512"/> + <arg value="pubsub=true"/> + </java> + </target> + + <!-- + Measure the time required for one (transacted producer)/(Transacted consumer) pair + for sending and receiving 10000 (0.5K) persistent messages. + Tx batch size is 100 (consumer and producer) + The test last for 5 minutes. + --> + <target name="Topic-Duration-Transacted" depends="build" description=""> + <java classname="org.apache.qpid.junit.extensions.TKTestRunner" fork="true"> + <classpath refid="module.test.path"/> + <jvmarg value="${xms}"/> + <jvmarg value="${xmx}"/> + <jvmarg value="${test.logging.level}"/> + <jvmarg value="${qpid.logging.level}"/> + <jvmarg value="${log4j.config}"/> + <!-- args --> + <arg value="-d5M"/> + <arg value="-n Topic-Duration-Transacted"/> + <arg value="-s[1000]"/> + <arg value="-t testAsyncPingOk"/> + <arg value="-o${results}"/> + <arg value="--csv"/> + <arg value="org.apache.qpid.ping.PingAsyncTestPerf"/> + <arg value="persistent=true"/> + <arg value="transacted=true"/> + <arg value="batchSize=100"/> + <arg value="consTransacted=true"/> + <arg value="commitBatchSize=100"/> + <arg value="messageSize=512"/> + </java> + </target> + + <!-- + Measure the time for four concurrent producer/receiver pairs to send and receive 1000 transient messages + --> + <target name="Topic-Concurrent" depends="build" description=""> + <java classname="org.apache.qpid.junit.extensions.TKTestRunner" fork="true"> + <classpath refid="module.test.path"/> + <jvmarg value="${xms}"/> + <jvmarg value="${xmx}"/> + <jvmarg value="${test.logging.level}"/> + <jvmarg value="${qpid.logging.level}"/> + <jvmarg value="${log4j.config}"/> + <!-- args --> + <arg value="-r1"/> + <arg value="-n Topic-Concurrent"/> + <arg value="-s[1000]"/> + <arg value="-c[4]"/> + <arg value="-t testAsyncPingOk"/> + <arg value="-o${results}"/> + <arg value="--csv"/> + <arg value="org.apache.qpid.ping.PingAsyncTestPerf"/> + <arg value="messageSize=512"/> + </java> + </target> + +</project> |