diff options
| author | Robert Gemmell <robbie@apache.org> | 2012-09-20 15:28:02 +0000 |
|---|---|---|
| committer | Robert Gemmell <robbie@apache.org> | 2012-09-20 15:28:02 +0000 |
| commit | 6a19ed06e9fb321c1f8dc27b99b70565dfed82b1 (patch) | |
| tree | f5094230065d548a89ff43cecefe0cf91ad64431 /qpid/java/perftests | |
| parent | cfe1bb615871bec30f849471d8a5d2180c2a8818 (diff) | |
| download | qpid-python-6a19ed06e9fb321c1f8dc27b99b70565dfed82b1.tar.gz | |
QPID-4310: Display performance test results in messages per second
Applied patch from Oleksandr Rudyy <orudyy@gmail.com>
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1388072 13f79535-47bb-0310-9956-ffa450edef68
Diffstat (limited to 'qpid/java/perftests')
24 files changed, 169 insertions, 50 deletions
diff --git a/qpid/java/perftests/etc/chartdefs/1001-MessageSize-Transient.chartdef b/qpid/java/perftests/etc/chartdefs/1001-MessageSize-Transient-ByteSec.chartdef index 757a396dff..757a396dff 100644 --- a/qpid/java/perftests/etc/chartdefs/1001-MessageSize-Transient.chartdef +++ b/qpid/java/perftests/etc/chartdefs/1001-MessageSize-Transient-ByteSec.chartdef diff --git a/qpid/java/perftests/etc/chartdefs/1002-MessageSize-Persistent.chartdef b/qpid/java/perftests/etc/chartdefs/1002-MessageSize-Persistent-ByteSec.chartdef index 58c280e227..58c280e227 100644 --- a/qpid/java/perftests/etc/chartdefs/1002-MessageSize-Persistent.chartdef +++ b/qpid/java/perftests/etc/chartdefs/1002-MessageSize-Persistent-ByteSec.chartdef diff --git a/qpid/java/perftests/etc/chartdefs/1003-MessageSize-Transient-MsgSec.chartdef b/qpid/java/perftests/etc/chartdefs/1003-MessageSize-Transient-MsgSec.chartdef new file mode 100644 index 0000000000..2d61dc6ac9 --- /dev/null +++ b/qpid/java/perftests/etc/chartdefs/1003-MessageSize-Transient-MsgSec.chartdef @@ -0,0 +1,32 @@ +# +# 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. +# + +chartType=XYLINE +chartTitle=Impact of Message Size +chartSubtitle=Transient messages +xAxisTitle=Message Size (B) +yAxisTitle=Throughput (messages/s) + +series.1.statement=SELECT payloadSizeB, throughputMessagesPerS FROM MessageSize WHERE testName like '%TRANSIENT' AND participantName = 'All' +series.1.legend=Current +series.1.dir=${csvCurrentDir} + +series.2.statement=SELECT payloadSizeB, throughputMessagesPerS FROM MessageSize WHERE testName like '%TRANSIENT' AND participantName = 'All' +series.2.legend=Baseline +series.2.dir=${csvBaselineDir} diff --git a/qpid/java/perftests/etc/chartdefs/1004-MessageSize-Persistent-MsgSec.chartdef b/qpid/java/perftests/etc/chartdefs/1004-MessageSize-Persistent-MsgSec.chartdef new file mode 100644 index 0000000000..9cc0ddfe7e --- /dev/null +++ b/qpid/java/perftests/etc/chartdefs/1004-MessageSize-Persistent-MsgSec.chartdef @@ -0,0 +1,32 @@ +# +# 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. +# + +chartType=XYLINE +chartTitle=Impact of Message Size +chartSubtitle=Persistent messages +xAxisTitle=Message Size (B) +yAxisTitle=Throughput (messages/s) + +series.1.statement=SELECT payloadSizeB, throughputMessagesPerS FROM MessageSize WHERE testName like '% PERSISTENT' AND participantName = 'All' +series.1.legend=Current +series.1.dir=${csvCurrentDir} + +series.2.statement=SELECT payloadSizeB, throughputMessagesPerS FROM MessageSize WHERE testName like '% PERSISTENT' AND participantName = 'All' +series.2.legend=Baseline +series.2.dir=${csvBaselineDir} diff --git a/qpid/java/perftests/etc/chartdefs/1011-VaryingNumberOfProducers-AutoAck.chartdef b/qpid/java/perftests/etc/chartdefs/1011-VaryingNumberOfProducers-AutoAck.chartdef index bbf8a7e805..58441c3044 100644 --- a/qpid/java/perftests/etc/chartdefs/1011-VaryingNumberOfProducers-AutoAck.chartdef +++ b/qpid/java/perftests/etc/chartdefs/1011-VaryingNumberOfProducers-AutoAck.chartdef @@ -21,20 +21,20 @@ chartType=XYLINE chartTitle=Varying number of producers - auto ack chartSubtitle=Persistent 1KB messages xAxisTitle=Producers -yAxisTitle=Throughput (KB/s) +yAxisTitle=Throughput (messages/s) -series.1.statement=SELECT totalNumberOfProducers, throughputKbPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfConsumers = '1' and acknowledgeMode = '1' +series.1.statement=SELECT totalNumberOfProducers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfConsumers = '1' and acknowledgeMode = '1' series.1.legend=1 Consumer series.1.dir=${csvCurrentDir} -series.2.statement=SELECT totalNumberOfProducers, throughputKbPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfConsumers = '5' and acknowledgeMode = '1' +series.2.statement=SELECT totalNumberOfProducers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfConsumers = '5' and acknowledgeMode = '1' series.2.legend=5 Consumer series.2.dir=${csvCurrentDir} -series.3.statement=SELECT totalNumberOfProducers, throughputKbPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfConsumers = '10' and acknowledgeMode = '1' +series.3.statement=SELECT totalNumberOfProducers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfConsumers = '10' and acknowledgeMode = '1' series.3.legend=10 Consumer series.3.dir=${csvCurrentDir} -series.4.statement=SELECT totalNumberOfProducers, throughputKbPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfConsumers = '1' and acknowledgeMode = '1' +series.4.statement=SELECT totalNumberOfProducers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfConsumers = '1' and acknowledgeMode = '1' series.4.legend=1 Consumer (baseline) series.4.dir=${csvBaselineDir} diff --git a/qpid/java/perftests/etc/chartdefs/1012-VaryingNumberOfConsumers-AutoAck.chartdef b/qpid/java/perftests/etc/chartdefs/1012-VaryingNumberOfConsumers-AutoAck.chartdef index 2a883cc6c3..4eec862e31 100644 --- a/qpid/java/perftests/etc/chartdefs/1012-VaryingNumberOfConsumers-AutoAck.chartdef +++ b/qpid/java/perftests/etc/chartdefs/1012-VaryingNumberOfConsumers-AutoAck.chartdef @@ -21,20 +21,20 @@ chartType=XYLINE chartTitle=Varying number of consumers - auto ack chartSubtitle=Persistent 1KB messages xAxisTitle=Consumers -yAxisTitle=Throughput (KB/s) +yAxisTitle=Throughput (messages/s) -series.1.statement=SELECT totalNumberOfConsumers, throughputKbPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfProducers = '1' and acknowledgeMode = '1' +series.1.statement=SELECT totalNumberOfConsumers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfProducers = '1' and acknowledgeMode = '1' series.1.legend=1 Producer series.1.dir=${csvCurrentDir} -series.2.statement=SELECT totalNumberOfConsumers, throughputKbPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfProducers = '5' and acknowledgeMode = '1' +series.2.statement=SELECT totalNumberOfConsumers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfProducers = '5' and acknowledgeMode = '1' series.2.legend=5 Producers series.2.dir=${csvCurrentDir} -series.3.statement=SELECT totalNumberOfConsumers, throughputKbPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfProducers = '10' and acknowledgeMode = '1' +series.3.statement=SELECT totalNumberOfConsumers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfProducers = '10' and acknowledgeMode = '1' series.3.legend=10 Producers series.3.dir=${csvCurrentDir} -series.4.statement=SELECT totalNumberOfConsumers, throughputKbPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfProducers = '10' and acknowledgeMode = '1' +series.4.statement=SELECT totalNumberOfConsumers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfProducers = '10' and acknowledgeMode = '1' series.4.legend=10 Producers (baseline) series.4.dir=${csvBaselineDir} diff --git a/qpid/java/perftests/etc/chartdefs/1015-VaryingNumberOfProducers-SessionTrans.chartdef b/qpid/java/perftests/etc/chartdefs/1015-VaryingNumberOfProducers-SessionTrans.chartdef index ef0099d2ad..c57770907c 100644 --- a/qpid/java/perftests/etc/chartdefs/1015-VaryingNumberOfProducers-SessionTrans.chartdef +++ b/qpid/java/perftests/etc/chartdefs/1015-VaryingNumberOfProducers-SessionTrans.chartdef @@ -18,23 +18,23 @@ # chartType=XYLINE -chartTitle=Varying number of producers -session transacted +chartTitle=Varying number of producers - transacted chartSubtitle=Persistent 1KB messages xAxisTitle=Producers -yAxisTitle=Throughput (KB/s) +yAxisTitle=Throughput (messages/s) -series.1.statement=SELECT totalNumberOfProducers, throughputKbPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfConsumers = '1' and acknowledgeMode = '0' +series.1.statement=SELECT totalNumberOfProducers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfConsumers = '1' and acknowledgeMode = '0' series.1.legend=1 Consumer series.1.dir=${csvCurrentDir} -series.2.statement=SELECT totalNumberOfProducers, throughputKbPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfConsumers = '5' and acknowledgeMode = '0' +series.2.statement=SELECT totalNumberOfProducers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfConsumers = '5' and acknowledgeMode = '0' series.2.legend=5 Consumer series.2.dir=${csvCurrentDir} -series.3.statement=SELECT totalNumberOfProducers, throughputKbPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfConsumers = '10' and acknowledgeMode = '0' +series.3.statement=SELECT totalNumberOfProducers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfConsumers = '10' and acknowledgeMode = '0' series.3.legend=10 Consumer series.3.dir=${csvCurrentDir} -series.4.statement=SELECT totalNumberOfProducers, throughputKbPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfConsumers = '1' and acknowledgeMode = '0' +series.4.statement=SELECT totalNumberOfProducers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfConsumers = '1' and acknowledgeMode = '0' series.4.legend=1 Consumer (baseline) series.4.dir=${csvBaselineDir} diff --git a/qpid/java/perftests/etc/chartdefs/1016-VaryingNumberOfConsumers-SessionTrans.chartdef b/qpid/java/perftests/etc/chartdefs/1016-VaryingNumberOfConsumers-SessionTrans.chartdef index e7d9c45fbe..5f3cac5645 100644 --- a/qpid/java/perftests/etc/chartdefs/1016-VaryingNumberOfConsumers-SessionTrans.chartdef +++ b/qpid/java/perftests/etc/chartdefs/1016-VaryingNumberOfConsumers-SessionTrans.chartdef @@ -18,23 +18,23 @@ # chartType=XYLINE -chartTitle=Varying number of consumers - session transacted +chartTitle=Varying number of consumers - transacted chartSubtitle=Persistent 1KB messages xAxisTitle=Consumers -yAxisTitle=Throughput (KB/s) +yAxisTitle=Throughput (messages/s) -series.1.statement=SELECT totalNumberOfConsumers, throughputKbPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfProducers = '1' and acknowledgeMode = '0' +series.1.statement=SELECT totalNumberOfConsumers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfProducers = '1' and acknowledgeMode = '0' series.1.legend=1 Producer series.1.dir=${csvCurrentDir} -series.2.statement=SELECT totalNumberOfConsumers, throughputKbPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfProducers = '5' and acknowledgeMode = '0' +series.2.statement=SELECT totalNumberOfConsumers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfProducers = '5' and acknowledgeMode = '0' series.2.legend=5 Producers series.2.dir=${csvCurrentDir} -series.3.statement=SELECT totalNumberOfConsumers, throughputKbPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfProducers = '10' and acknowledgeMode = '0' +series.3.statement=SELECT totalNumberOfConsumers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfProducers = '10' and acknowledgeMode = '0' series.3.legend=10 Producers series.3.dir=${csvCurrentDir} -series.4.statement=SELECT totalNumberOfConsumers, throughputKbPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfProducers = '10' and acknowledgeMode = '0' +series.4.statement=SELECT totalNumberOfConsumers, throughputMessagesPerS FROM VaryingNumberOfParticipants WHERE participantName = 'All' and totalNumberOfProducers = '10' and acknowledgeMode = '0' series.4.legend=10 Producers (baseline) series.4.dir=${csvBaselineDir} diff --git a/qpid/java/perftests/etc/chartdefs/1021-AcknowledgementModes-Persistent.chartdef b/qpid/java/perftests/etc/chartdefs/1021-AcknowledgementModes-Persistent.chartdef index 30aee40c27..8034373adc 100644 --- a/qpid/java/perftests/etc/chartdefs/1021-AcknowledgementModes-Persistent.chartdef +++ b/qpid/java/perftests/etc/chartdefs/1021-AcknowledgementModes-Persistent.chartdef @@ -21,15 +21,15 @@ chartType=BAR chartTitle=Performance of acknowledgement modes chartSubtitle=Persistent messages (1024b) xAxisTitle=Acknowledge mode (0=session transacted; 1=auto-acknowledge) -yAxisTitle=Throughput (KB/s) +yAxisTitle=Throughput (messages/s) -series.1.statement=SELECT acknowledgeMode, throughputKbPerS FROM AcknowledgementModes WHERE testName like 'Persistent%' AND participantName = 'All' ORDER BY acknowledgeMode +series.1.statement=SELECT acknowledgeMode, throughputMessagesPerS FROM AcknowledgementModes WHERE testName like 'Persistent%' AND participantName = 'All' ORDER BY acknowledgeMode series.1.legend=Current series.1.dir=${csvCurrentDir} -series.2.statement=SELECT acknowledgeMode, throughputKbPerS FROM AcknowledgementModes WHERE testName like 'Persistent%' AND participantName = 'All' ORDER BY acknowledgeMode +series.2.statement=SELECT acknowledgeMode, throughputMessagesPerS FROM AcknowledgementModes WHERE testName like 'Persistent%' AND participantName = 'All' ORDER BY acknowledgeMode series.2.legend=Baseline series.2.dir=${csvBaselineDir} diff --git a/qpid/java/perftests/etc/chartdefs/1022-AcknowledgementModes-Transient.chartdef b/qpid/java/perftests/etc/chartdefs/1022-AcknowledgementModes-Transient.chartdef index 7a26391deb..130d434a3e 100644 --- a/qpid/java/perftests/etc/chartdefs/1022-AcknowledgementModes-Transient.chartdef +++ b/qpid/java/perftests/etc/chartdefs/1022-AcknowledgementModes-Transient.chartdef @@ -21,12 +21,12 @@ chartType=BAR chartTitle=Performance of acknowledgement modes chartSubtitle=Transient messages (1024b) xAxisTitle=Acknowledge mode (0=session transacted; 1=auto-acknowledge) -yAxisTitle=Throughput (KB/s) +yAxisTitle=Throughput (messages/s) -series.1.statement=SELECT acknowledgeMode, throughputKbPerS FROM AcknowledgementModes WHERE testName like 'Transient%' AND participantName = 'All' ORDER BY acknowledgeMode +series.1.statement=SELECT acknowledgeMode, throughputMessagesPerS FROM AcknowledgementModes WHERE testName like 'Transient%' AND participantName = 'All' ORDER BY acknowledgeMode series.1.legend=Current series.1.dir=${csvCurrentDir} -series.2.statement=SELECT acknowledgeMode, throughputKbPerS FROM AcknowledgementModes WHERE testName like 'Transient%' AND participantName = 'All' ORDER BY acknowledgeMode +series.2.statement=SELECT acknowledgeMode, throughputMessagesPerS FROM AcknowledgementModes WHERE testName like 'Transient%' AND participantName = 'All' ORDER BY acknowledgeMode series.2.legend=Baseline series.2.dir=${csvBaselineDir} diff --git a/qpid/java/perftests/etc/chartdefs/1030-BatchSize.chartdef b/qpid/java/perftests/etc/chartdefs/1030-BatchSize.chartdef index 1f01aa85aa..8b8ff05f7d 100644 --- a/qpid/java/perftests/etc/chartdefs/1030-BatchSize.chartdef +++ b/qpid/java/perftests/etc/chartdefs/1030-BatchSize.chartdef @@ -21,13 +21,13 @@ chartType=XYLINE chartTitle=Transaction Batch Size chartSubtitle=Persistent 1KB messages xAxisTitle=Batch Size -yAxisTitle=Throughput (KB/s) +yAxisTitle=Throughput (messages/s) -series.1.statement=SELECT batchSize, throughputKbPerS FROM BatchSize WHERE participantName = 'All' +series.1.statement=SELECT batchSize, throughputMessagesPerS FROM BatchSize WHERE participantName = 'All' series.1.legend=Current series.1.dir=${csvCurrentDir} -series.2.statement=SELECT batchSize, throughputKbPerS FROM BatchSize WHERE participantName = 'All' +series.2.statement=SELECT batchSize, throughputMessagesPerS FROM BatchSize WHERE participantName = 'All' series.2.legend=Baseline series.2.dir=${csvBaselineDir} diff --git a/qpid/java/perftests/etc/chartdefs/1040-QueueTypes.chartdef b/qpid/java/perftests/etc/chartdefs/1040-QueueTypes.chartdef index 42ed69c19d..90ccc7dd20 100644 --- a/qpid/java/perftests/etc/chartdefs/1040-QueueTypes.chartdef +++ b/qpid/java/perftests/etc/chartdefs/1040-QueueTypes.chartdef @@ -21,12 +21,12 @@ chartType=BAR chartTitle=Queue Types chartSubtitle=Persistent 1KB messages xAxisTitle=Queue Types -yAxisTitle=Throughput (KB/s) +yAxisTitle=Throughput (messages/s) -series.1.statement=SELECT testName, throughputKbPerS FROM QueueTypes WHERE participantName = 'All' +series.1.statement=SELECT testName, throughputMessagesPerS FROM QueueTypes WHERE participantName = 'All' series.1.legend=Current series.1.dir=${csvCurrentDir} -series.2.statement=SELECT testName, throughputKbPerS FROM QueueTypes WHERE participantName = 'All' +series.2.statement=SELECT testName, throughputMessagesPerS FROM QueueTypes WHERE participantName = 'All' series.2.legend=Baseline series.2.dir=${csvBaselineDir} diff --git a/qpid/java/perftests/etc/chartdefs/1500-Topic-NumberOfConsumers.chartdef b/qpid/java/perftests/etc/chartdefs/1500-Topic-NumberOfConsumers.chartdef index 305c5009e2..cb3efc7312 100644 --- a/qpid/java/perftests/etc/chartdefs/1500-Topic-NumberOfConsumers.chartdef +++ b/qpid/java/perftests/etc/chartdefs/1500-Topic-NumberOfConsumers.chartdef @@ -21,12 +21,12 @@ chartType=XYLINE chartTitle=Number of topic consumers chartSubtitle=Transient 1KB messages xAxisTitle=Numer of consumers -yAxisTitle=Throughput (KB/s) +yAxisTitle=Throughput (messages/s) -series.1.statement=SELECT testName, throughputKbPerS FROM Topic-NumberOfConsumers WHERE participantName = 'All' +series.1.statement=SELECT totalNumberOfConsumers, throughputMessagesPerS FROM Topic-NumberOfConsumers WHERE participantName = 'All' series.1.legend=Current series.1.dir=${csvCurrentDir} -series.2.statement=SELECT testName, throughputKbPerS FROM Topic-NumberOfConsumers WHERE participantName = 'All' +series.2.statement=SELECT totalNumberOfConsumers, throughputMessagesPerS FROM Topic-NumberOfConsumers WHERE participantName = 'All' series.2.legend=Baseline series.2.dir=${csvBaselineDir} diff --git a/qpid/java/perftests/etc/chartdefs/1501-Topic-NumberOfTopics.chartdef b/qpid/java/perftests/etc/chartdefs/1501-Topic-NumberOfTopics.chartdef index 9bc53e5a9e..4d4bf7c1db 100644 --- a/qpid/java/perftests/etc/chartdefs/1501-Topic-NumberOfTopics.chartdef +++ b/qpid/java/perftests/etc/chartdefs/1501-Topic-NumberOfTopics.chartdef @@ -21,12 +21,12 @@ chartType=XYLINE chartTitle=Number of topics chartSubtitle=Transient 1KB messages xAxisTitle=Numer of topics -yAxisTitle=Throughput (KB/s) +yAxisTitle=Throughput (messages/s) -series.1.statement=SELECT testName, throughputKbPerS FROM Topic-NumberOfTopics WHERE participantName = 'All' +series.1.statement=SELECT totalNumberOfProducers, throughputMessagesPerS FROM Topic-NumberOfTopics WHERE participantName = 'All' series.1.legend=Current series.1.dir=${csvCurrentDir} -series.2.statement=SELECT testName, throughputKbPerS FROM Topic-NumberOfTopics WHERE participantName = 'All' +series.2.statement=SELECT totalNumberOfProducers, throughputMessagesPerS FROM Topic-NumberOfTopics WHERE participantName = 'All' series.2.legend=Baseline series.2.dir=${csvBaselineDir} diff --git a/qpid/java/perftests/etc/chartdefs/1502-Topic-Persistence.chartdef b/qpid/java/perftests/etc/chartdefs/1502-Topic-Persistence.chartdef index ce64d14ac4..170a730bdc 100644 --- a/qpid/java/perftests/etc/chartdefs/1502-Topic-Persistence.chartdef +++ b/qpid/java/perftests/etc/chartdefs/1502-Topic-Persistence.chartdef @@ -21,12 +21,12 @@ chartType=BAR chartTitle=Topic transient/durable subscriptions chartSubtitle=1KB messages xAxisTitle=Durable subscription -yAxisTitle=Throughput (KB/s) +yAxisTitle=Throughput (messages/s) -series.1.statement=SELECT isDurableSubscription, throughputKbPerS FROM Topic-Persistence WHERE participantName = 'All Consumers' +series.1.statement=SELECT isDurableSubscription, throughputMessagesPerS FROM Topic-Persistence WHERE participantName = 'All Consumers' series.1.legend=Current series.1.dir=${csvCurrentDir} -series.2.statement=SELECT isDurableSubscription, throughputKbPerS FROM Topic-Persistence WHERE participantName = 'All Consumers' +series.2.statement=SELECT isDurableSubscription, throughputMessagesPerS FROM Topic-Persistence WHERE participantName = 'All Consumers' series.2.legend=Baseline series.2.dir=${csvBaselineDir} diff --git a/qpid/java/perftests/etc/chartdefs/1503-Topic-AckModes.chartdef b/qpid/java/perftests/etc/chartdefs/1503-Topic-AckModes.chartdef index 5ccc166fc8..65321f5293 100644 --- a/qpid/java/perftests/etc/chartdefs/1503-Topic-AckModes.chartdef +++ b/qpid/java/perftests/etc/chartdefs/1503-Topic-AckModes.chartdef @@ -21,12 +21,12 @@ chartType=BAR chartTitle=Topic acknowledge modes chartSubtitle=Transient 1KB messages xAxisTitle=Ack Mode -yAxisTitle=Throughput (KB/s) +yAxisTitle=Throughput (messages/s) -series.1.statement=SELECT acknowledgeMode, throughputKbPerS FROM Topic-AckModes WHERE participantName = 'All' +series.1.statement=SELECT acknowledgeMode, throughputMessagesPerS FROM Topic-AckModes WHERE participantName = 'All' series.1.legend=Current series.1.dir=${csvCurrentDir} -series.2.statement=SELECT acknowledgeMode, throughputKbPerS FROM Topic-AckModes WHERE participantName = 'All' +series.2.statement=SELECT acknowledgeMode, throughputMessagesPerS FROM Topic-AckModes WHERE participantName = 'All' series.2.legend=Baseline series.2.dir=${csvBaselineDir} diff --git a/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/message/ParticipantAttribute.java b/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/message/ParticipantAttribute.java index ea1a633f21..1154ff306c 100644 --- a/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/message/ParticipantAttribute.java +++ b/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/message/ParticipantAttribute.java @@ -60,7 +60,8 @@ public enum ParticipantAttribute ERROR_MESSAGE("errorMessage"), MIN_LATENCY("minLatency"), MAX_LATENCY("maxLatency"), - LATENCY_STANDARD_DEVIATION("latencyStandardDeviation") + LATENCY_STANDARD_DEVIATION("latencyStandardDeviation"), + MESSAGE_THROUGHPUT("throughputMessagesPerS") ; private String _displayName; diff --git a/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/message/ParticipantResult.java b/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/message/ParticipantResult.java index a6d3d91bae..efd248b6de 100644 --- a/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/message/ParticipantResult.java +++ b/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/message/ParticipantResult.java @@ -27,6 +27,7 @@ import static org.apache.qpid.disttest.message.ParticipantAttribute.NUMBER_OF_ME import static org.apache.qpid.disttest.message.ParticipantAttribute.THROUGHPUT; import static org.apache.qpid.disttest.message.ParticipantAttribute.PARTICIPANT_NAME; import static org.apache.qpid.disttest.message.ParticipantAttribute.TEST_NAME; +import static org.apache.qpid.disttest.message.ParticipantAttribute.MESSAGE_THROUGHPUT; import java.util.Comparator; import java.util.Date; @@ -49,6 +50,7 @@ public class ParticipantResult extends Response private long _totalPayloadProcessed; private int _payloadSize; private double _throughput; + private int _messageThroughput; private int _totalNumberOfConsumers; private int _totalNumberOfProducers; @@ -236,6 +238,17 @@ public class ParticipantResult extends Response _throughput = throughput; } + @OutputAttribute(attribute=MESSAGE_THROUGHPUT) + public int getMessageThroughput() + { + return _messageThroughput; + } + + public void setMessageThroughput(int throughput) + { + _messageThroughput = throughput; + } + public void setTotalNumberOfConsumers(int totalNumberOfConsumers) { _totalNumberOfConsumers = totalNumberOfConsumers; diff --git a/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/results/aggregation/ParticipantResultAggregator.java b/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/results/aggregation/ParticipantResultAggregator.java index 4dcabe6c7b..c21a78d359 100644 --- a/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/results/aggregation/ParticipantResultAggregator.java +++ b/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/results/aggregation/ParticipantResultAggregator.java @@ -142,6 +142,7 @@ public class ParticipantResultAggregator aggregatedResult.setStartDate(new Date(_minStartDate)); aggregatedResult.setEndDate(new Date(_maxEndDate)); aggregatedResult.setThroughput(calculateThroughputInKiloBytesPerSecond()); + aggregatedResult.setMessageThroughput(calculateThroughputInMessagesPerSecond()); } private void setRolledUpConstantAttributes(ParticipantResult aggregatedResult) @@ -197,4 +198,14 @@ public class ParticipantResultAggregator return totalPayloadProcessedInKiloBytes/durationInSeconds; } + private int calculateThroughputInMessagesPerSecond() + { + double durationInMillis = _maxEndDate - _minStartDate; + if (durationInMillis == 0 ) + { + return 0; + } + + return (int)Math.round((_numberOfMessagesProcessed * 1000.0d)/durationInMillis); + } } diff --git a/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/results/aggregation/TestResultAggregator.java b/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/results/aggregation/TestResultAggregator.java index 954f796d21..954828b043 100644 --- a/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/results/aggregation/TestResultAggregator.java +++ b/qpid/java/perftests/src/main/java/org/apache/qpid/disttest/results/aggregation/TestResultAggregator.java @@ -105,6 +105,7 @@ public class TestResultAggregator aggregatedAllResult.setNumberOfMessagesProcessed(aggregatedConsumerResult.getNumberOfMessagesProcessed()); aggregatedAllResult.setTotalPayloadProcessed(aggregatedConsumerResult.getTotalPayloadProcessed()); aggregatedAllResult.setThroughput(aggregatedConsumerResult.getThroughput()); + aggregatedAllResult.setMessageThroughput(aggregatedConsumerResult.getMessageThroughput()); } /** diff --git a/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/results/aggregation/ParticipantResultAggregatorTest.java b/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/results/aggregation/ParticipantResultAggregatorTest.java index 72743be1d1..db2c709f55 100644 --- a/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/results/aggregation/ParticipantResultAggregatorTest.java +++ b/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/results/aggregation/ParticipantResultAggregatorTest.java @@ -39,15 +39,19 @@ public class ParticipantResultAggregatorTest extends TestCase private static final long PARTICIPANT1_STARTDATE = 50; private static final long PARTICIPANT1_ENDDATE = 20000; private static final long PARTICIPANT1_TOTAL_PROCESSED = 1024; + private static final int PARTICIPANT1_NUMBER_OF_MESSAGES_PROCESSED = 20000; private static final long PARTICIPANT2_STARTDATE = 100; private static final long PARTICIPANT2_ENDDATE = 21000; private static final long PARTICIPANT2_TOTAL_PROCESSED = 2048; + private static final int PARTICIPANT2_NUMBER_OF_MESSAGES_PROCESSED = 950; private static final long OVERALL_PROCESSED = PARTICIPANT1_TOTAL_PROCESSED + PARTICIPANT2_TOTAL_PROCESSED; private static final double OVERALL_TIMETAKEN = PARTICIPANT2_ENDDATE - PARTICIPANT1_STARTDATE; + private static final long OVERALL_NUMBER_OF_MESSAGES_PROCESSED = PARTICIPANT1_NUMBER_OF_MESSAGES_PROCESSED + PARTICIPANT2_NUMBER_OF_MESSAGES_PROCESSED; private static final double EXPECTED_AGGREGATED_ALL_THROUGHPUT = ((OVERALL_PROCESSED)/1024)/((OVERALL_TIMETAKEN)/1000); + private static final int EXPECTED_AGGREGATED_MESSAGE_THROUGHPUT = (int)(OVERALL_NUMBER_OF_MESSAGES_PROCESSED * 1000.0d/OVERALL_TIMETAKEN); public void testStartAndEndDateForOneParticipantResult() { @@ -128,6 +132,26 @@ public class ParticipantResultAggregatorTest extends TestCase assertEquals(EXPECTED_AGGREGATED_ALL_THROUGHPUT, aggregratedResult.getThroughput(), 0.1); } + public void testComputeMessageThroughput() + { + ParticipantResult result1 = new ParticipantResult(); + result1.setStartDate(new Date(PARTICIPANT1_STARTDATE)); + result1.setEndDate(new Date(PARTICIPANT1_ENDDATE)); + result1.setNumberOfMessagesProcessed(PARTICIPANT1_NUMBER_OF_MESSAGES_PROCESSED); + + ParticipantResult result2 = new ParticipantResult(); + result2.setStartDate(new Date(PARTICIPANT2_STARTDATE)); + result2.setEndDate(new Date(PARTICIPANT2_ENDDATE)); + result2.setNumberOfMessagesProcessed(PARTICIPANT2_NUMBER_OF_MESSAGES_PROCESSED); + + _aggregator.aggregate(result1); + _aggregator.aggregate(result2); + + ParticipantResult aggregratedResult = _aggregator.getAggregatedResult(); + assertEquals(EXPECTED_AGGREGATED_MESSAGE_THROUGHPUT, aggregratedResult.getMessageThroughput()); + + } + public void testConstantTestNameAndIterationNumberRolledUp() throws Exception { ParticipantResult result1 = new ParticipantResult(); diff --git a/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/results/aggregation/TestResultAggregatorTest.java b/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/results/aggregation/TestResultAggregatorTest.java index 7cb9ebed5e..c90e60e76d 100644 --- a/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/results/aggregation/TestResultAggregatorTest.java +++ b/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/results/aggregation/TestResultAggregatorTest.java @@ -169,6 +169,10 @@ public class TestResultAggregatorTest extends TestCase aggregatedTestResult.getAllParticipantResult(), TEST1_NAME, TEST1_ITERATION_NUMBER, BATCH_SIZE, NUMBER_OF_MESSAGES_CONSUMED_IN_TOTAL, 2, 1); + + int expectedThroughtput = (int)Math.round(NUMBER_OF_MESSAGES_PRODUCED * 1000.0d /(CONSUMER2_ENDDATE - PRODUCER_STARTDATE)); + ParticipantResult result = aggregatedTestResult.getAllParticipantResult(); + assertEquals("Unexpected message throughtput", expectedThroughtput, result.getMessageThroughput()); } private void assertLatencyAggregatedResults(ParticipantResult allConsumerParticipantResult) diff --git a/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/results/formatting/CSVFormatterTest.java b/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/results/formatting/CSVFormatterTest.java index 0d66c7ffb5..8d598a8095 100644 --- a/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/results/formatting/CSVFormatterTest.java +++ b/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/results/formatting/CSVFormatterTest.java @@ -96,7 +96,7 @@ public class CSVFormatterTest extends TestCase participantAttributes.put(ITERATION_NUMBER, 0); participantAttributes.put(CONFIGURED_CLIENT_NAME, CONFIGURED_CLIENT1); participantAttributes.put(PARTICIPANT_NAME, PARTICIPANT); - participantAttributes.put(NUMBER_OF_MESSAGES_PROCESSED, 0); + participantAttributes.put(NUMBER_OF_MESSAGES_PROCESSED, 2); participantAttributes.put(PAYLOAD_SIZE, 1); participantAttributes.put(PRIORITY, 2); participantAttributes.put(TIME_TO_LIVE, 3); @@ -122,6 +122,7 @@ public class CSVFormatterTest extends TestCase participantAttributes.put(MAX_LATENCY, 9l); participantAttributes.put(AVERAGE_LATENCY, 4.6f); participantAttributes.put(LATENCY_STANDARD_DEVIATION, 2.0f); + participantAttributes.put(MESSAGE_THROUGHPUT, 2); return participantAttributes; } diff --git a/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/results/formatting/expectedOutput.csv b/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/results/formatting/expectedOutput.csv index a5881e187a..02ea67d56d 100644 --- a/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/results/formatting/expectedOutput.csv +++ b/qpid/java/perftests/src/test/java/org/apache/qpid/disttest/results/formatting/expectedOutput.csv @@ -1,2 +1,2 @@ -testName,iterationNumber,throughputKbPerS,averageLatency,clientName,participantName,numberOfMessages,payloadSizeB,priority,timeToLiveMs,acknowledgeMode,deliveryMode,batchSize,maximumDurationMs,producerStartDelayMs,producerIntervalMs,isTopic,isDurableSubscription,isBrowsingSubscription,isSelector,isNoLocal,isSynchronousConsumer,totalNumberOfConsumers,totalNumberOfProducers,totalPayloadProcessedB,timeTakenMs,errorMessage,minLatency,maxLatency,latencyStandardDeviation -TEST1,0,2048,5,CONFIGURED_CLIENT1,PARTICIPANT,0,1,2,3,4,5,6,7,8,9,true,false,true,false,true,false,1,2,1024,1000,error,2,9,2.0 +testName,iterationNumber,throughputKbPerS,averageLatency,clientName,participantName,numberOfMessages,payloadSizeB,priority,timeToLiveMs,acknowledgeMode,deliveryMode,batchSize,maximumDurationMs,producerStartDelayMs,producerIntervalMs,isTopic,isDurableSubscription,isBrowsingSubscription,isSelector,isNoLocal,isSynchronousConsumer,totalNumberOfConsumers,totalNumberOfProducers,totalPayloadProcessedB,timeTakenMs,errorMessage,minLatency,maxLatency,latencyStandardDeviation,throughputMessagesPerS +TEST1,0,2048,5,CONFIGURED_CLIENT1,PARTICIPANT,2,1,2,3,4,5,6,7,8,9,true,false,true,false,true,false,1,2,1024,1000,error,2,9,2.0,2 |
