From 9c73ef7a5ac10acd6a50d5d52bd721fc2faa5919 Mon Sep 17 00:00:00 2001 From: Kim van der Riet Date: Thu, 28 Feb 2013 16:14:30 +0000 Subject: Update from trunk r1375509 through r1450773 git-svn-id: https://svn.apache.org/repos/asf/qpid/branches/asyncstore@1451244 13f79535-47bb-0310-9956-ffa450edef68 --- java/perftests/etc/testdefs/BatchSize.js | 102 ++++++++ java/perftests/etc/testdefs/BatchSize.json | 84 ------- .../etc/testdefs/BatchSizeConsumerVaries.js | 102 ++++++++ .../etc/testdefs/BatchSizeProducerVaries.js | 102 ++++++++ .../QueueConsumersWithNonOverlappingSelectors.js | 120 +++++++++ .../QueueConsumersWithOverlappingSelectors.js | 131 ++++++++++ java/perftests/etc/testdefs/Topic-AckModes.js | 9 +- .../etc/testdefs/Topic-NumberOfConsumers.js | 4 + .../perftests/etc/testdefs/Topic-NumberOfTopics.js | 4 + java/perftests/etc/testdefs/Topic-Persistence.js | 8 +- .../etc/testdefs/VaryingNumberOfParticipants.json | 272 ++++++++++----------- ...yingNumberOfProducerSessionsSingleConnection.js | 95 +++++++ 12 files changed, 798 insertions(+), 235 deletions(-) create mode 100644 java/perftests/etc/testdefs/BatchSize.js delete mode 100644 java/perftests/etc/testdefs/BatchSize.json create mode 100644 java/perftests/etc/testdefs/BatchSizeConsumerVaries.js create mode 100644 java/perftests/etc/testdefs/BatchSizeProducerVaries.js create mode 100644 java/perftests/etc/testdefs/QueueConsumersWithNonOverlappingSelectors.js create mode 100644 java/perftests/etc/testdefs/QueueConsumersWithOverlappingSelectors.js create mode 100644 java/perftests/etc/testdefs/VaryingNumberOfProducerSessionsSingleConnection.js (limited to 'java/perftests/etc/testdefs') diff --git a/java/perftests/etc/testdefs/BatchSize.js b/java/perftests/etc/testdefs/BatchSize.js new file mode 100644 index 0000000000..f17751b7b5 --- /dev/null +++ b/java/perftests/etc/testdefs/BatchSize.js @@ -0,0 +1,102 @@ +/* + * + * 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. + * + */ + +var jsonObject = { + _tests:[] +}; + +var duration = 30000; + +var txBatchSizes = [[1,1], [2,2], [5,5], [10,10], [20,20], [50,50], [100,100], [200,200], [400,400]]; + +var acknowledgeMode = 0; +var deliveryMode = 2; +var messageSize = 1024; + +for(i=0; i < txBatchSizes.length ; i++) +{ + var producerBatchSize = txBatchSizes[i][0]; + var consumerBatchSize = txBatchSizes[i][1]; + var queueName = "txBatchSize" + producerBatchSize + "_" + consumerBatchSize; + var destination = "direct://amq.direct//" + queueName + "?durable='true'"; + + var test = { + "_name": "Batch Size " + producerBatchSize + "-" + consumerBatchSize + " - PERSISTENT", + "_queues":[ + { + "_name": queueName, + "_durable": true + } + ], + "_clients":[ + { + "_name": "producingClient", + "_connections":[ + { + "_name": "connection1", + "_factory": "connectionfactory", + "_sessions": [ + { + "_sessionName": "session1", + "_acknowledgeMode": acknowledgeMode, + "_producers": [ + { + "_name": "Producer1", + "_destinationName": destination, + "_messageSize": messageSize, + "_deliveryMode": deliveryMode, + "_batchSize": producerBatchSize, + "_maximumDuration": duration + } + ] + } + ] + } + ] + }, + { + "_name": "consumingClient", + "_connections":[ + { + "_name": "connection1", + "_factory": "connectionfactory", + "_sessions": [ + { + "_sessionName": "session1", + "_acknowledgeMode": acknowledgeMode, + "_consumers": [ + { + "_name": "Consumer1", + "_destinationName": destination, + "_batchSize": consumerBatchSize, + "_maximumDuration": duration + } + ] + } + ] + } + ] + } + ] + }; + + jsonObject._tests= jsonObject._tests.concat(test); +} diff --git a/java/perftests/etc/testdefs/BatchSize.json b/java/perftests/etc/testdefs/BatchSize.json deleted file mode 100644 index eeb446bad6..0000000000 --- a/java/perftests/etc/testdefs/BatchSize.json +++ /dev/null @@ -1,84 +0,0 @@ -{ - "_tests":[ - { - "_name": "Batch Size- PERSISTENT"; - "_iterations":[ - { - "_batchSize": 1 - }, - { - "_batchSize": 2 - }, - { - "_batchSize": 5 - }, - { - "_batchSize": 10 - }, - { - "_batchSize": 20 - }, - { - "_batchSize": 50 - }, - { - "_batchSize": 100 - } - ], - "_queues":[ - { - "_name": "direct://amq.direct//batchSize?durable='true'", - "_durable": true - } - ], - "_clients":[ - { - "_name": "producingClient", - "_connections":[ - { - "_name": "connection1", - "_factory": "connectionfactory", - "_sessions": [ - { - "_sessionName": "session1", - "_acknowledgeMode": 0, - "_producers": [ - { - "_name": "Producer1", - "_destinationName": "direct://amq.direct//batchSize?durable='true'", - "_messageSize": 1024, - "_maximumDuration": 30000, - "_deliveryMode": 2 - } - ] - } - ] - } - ] - }, - { - "_name": "consumingClient", - "_connections":[ - { - "_name": "connection1", - "_factory": "connectionfactory", - "_sessions": [ - { - "_sessionName": "session1", - "_acknowledgeMode": 0, - "_consumers": [ - { - "_name": "Consumer1", - "_destinationName": "direct://amq.direct//batchSize?durable='true'", - "_maximumDuration": 30000 - } - ] - } - ] - } - ] - } - ] - } - ] -} diff --git a/java/perftests/etc/testdefs/BatchSizeConsumerVaries.js b/java/perftests/etc/testdefs/BatchSizeConsumerVaries.js new file mode 100644 index 0000000000..b491f431c9 --- /dev/null +++ b/java/perftests/etc/testdefs/BatchSizeConsumerVaries.js @@ -0,0 +1,102 @@ +/* + * + * 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. + * + */ + +var jsonObject = { + _tests:[] +}; + +var duration = 30000; + +var txBatchSizes = [[1,1], [1,2], [1,5], [1,10], [1,20], [1,50], [1,100], [1,200], [1,400]]; + +var acknowledgeMode = 0; +var deliveryMode = 2; +var messageSize = 1024; + +for(i=0; i < txBatchSizes.length ; i++) +{ + var producerBatchSize = txBatchSizes[i][0]; + var consumerBatchSize = txBatchSizes[i][1]; + var queueName = "txBatchSize" + producerBatchSize + "_" + consumerBatchSize; + var destination = "direct://amq.direct//" + queueName + "?durable='true'"; + + var test = { + "_name": consumerBatchSize,// hack - use test name to expose the consumer batch size on the All result rows + "_queues":[ + { + "_name": queueName, + "_durable": true + } + ], + "_clients":[ + { + "_name": "producingClient", + "_connections":[ + { + "_name": "connection1", + "_factory": "connectionfactory", + "_sessions": [ + { + "_sessionName": "session1", + "_acknowledgeMode": acknowledgeMode, + "_producers": [ + { + "_name": "Producer1", + "_destinationName": destination, + "_messageSize": messageSize, + "_deliveryMode": deliveryMode, + "_batchSize": producerBatchSize, + "_maximumDuration": duration + } + ] + } + ] + } + ] + }, + { + "_name": "consumingClient", + "_connections":[ + { + "_name": "connection1", + "_factory": "connectionfactory", + "_sessions": [ + { + "_sessionName": "session1", + "_acknowledgeMode": acknowledgeMode, + "_consumers": [ + { + "_name": "Consumer1", + "_destinationName": destination, + "_batchSize": consumerBatchSize, + "_maximumDuration": duration + } + ] + } + ] + } + ] + } + ] + }; + + jsonObject._tests= jsonObject._tests.concat(test); +} diff --git a/java/perftests/etc/testdefs/BatchSizeProducerVaries.js b/java/perftests/etc/testdefs/BatchSizeProducerVaries.js new file mode 100644 index 0000000000..ac23c52c9e --- /dev/null +++ b/java/perftests/etc/testdefs/BatchSizeProducerVaries.js @@ -0,0 +1,102 @@ +/* + * + * 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. + * + */ + +var jsonObject = { + _tests:[] +}; + +var duration = 30000; + +var txBatchSizes = [[1,1], [2,1], [5,1], [10,1], [20,1], [50,1], [100,1], [200,1], [400,1]]; + +var acknowledgeMode = 0; +var deliveryMode = 2; +var messageSize = 1024; + +for(i=0; i < txBatchSizes.length ; i++) +{ + var producerBatchSize = txBatchSizes[i][0]; + var consumerBatchSize = txBatchSizes[i][1]; + var queueName = "txBatchSize" + producerBatchSize + "_" + consumerBatchSize; + var destination = "direct://amq.direct//" + queueName + "?durable='true'"; + + var test = { + "_name": producerBatchSize,// hack - use test name to expose the producer batch size on the All result rows + "_queues":[ + { + "_name": queueName, + "_durable": true + } + ], + "_clients":[ + { + "_name": "producingClient", + "_connections":[ + { + "_name": "connection1", + "_factory": "connectionfactory", + "_sessions": [ + { + "_sessionName": "session1", + "_acknowledgeMode": acknowledgeMode, + "_producers": [ + { + "_name": "Producer1", + "_destinationName": destination, + "_messageSize": messageSize, + "_deliveryMode": deliveryMode, + "_batchSize": producerBatchSize, + "_maximumDuration": duration + } + ] + } + ] + } + ] + }, + { + "_name": "consumingClient", + "_connections":[ + { + "_name": "connection1", + "_factory": "connectionfactory", + "_sessions": [ + { + "_sessionName": "session1", + "_acknowledgeMode": acknowledgeMode, + "_consumers": [ + { + "_name": "Consumer1", + "_destinationName": destination, + "_batchSize": consumerBatchSize, + "_maximumDuration": duration + } + ] + } + ] + } + ] + } + ] + }; + + jsonObject._tests= jsonObject._tests.concat(test); +} diff --git a/java/perftests/etc/testdefs/QueueConsumersWithNonOverlappingSelectors.js b/java/perftests/etc/testdefs/QueueConsumersWithNonOverlappingSelectors.js new file mode 100644 index 0000000000..0dd45b0392 --- /dev/null +++ b/java/perftests/etc/testdefs/QueueConsumersWithNonOverlappingSelectors.js @@ -0,0 +1,120 @@ +/* + * + * 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. + * + */ +var jsonObject = { + _tests:[] +}; + +for (var i=0; i<2; i++) +{ + var deliveryMode = i+1; + var durable = (deliveryMode == 2); + var suffix = durable ? "PERSISTENT" : "NON-PERSISTENT"; + var queueName = "direct://amq.direct//queue-selectors-" + suffix + "?durable='" + durable + "'"; + var consumerNumbers = [1, 2, 4, 8, 16, 32]; + var consumerAcknowledgeMode = 1; + for (var j=0; j