From 31855cdedc1cf28fe20e9550c98285591c6e8ff4 Mon Sep 17 00:00:00 2001 From: Penghui Li Date: Sat, 27 Aug 2022 02:41:49 +0800 Subject: [PATCH] Fix license check and modify configurations for multi topics test (#282) * Fix license check and modify configurations for multi topics test * Update driver-pulsar/pom.xml Co-authored-by: Matteo Merli --- benchmark-framework/pom.xml | 26 +++++----- .../io/openmessaging/benchmark/Benchmark.java | 2 +- .../benchmark/DriverConfiguration.java | 2 +- .../openmessaging/benchmark/ResultsToCsv.java | 2 +- .../openmessaging/benchmark/TestResult.java | 2 +- .../io/openmessaging/benchmark/Workers.java | 2 +- .../io/openmessaging/benchmark/Workload.java | 2 +- .../benchmark/WorkloadGenerator.java | 2 +- .../benchmark/utils/ListPartition.java | 2 +- .../benchmark/utils/PaddingDecimalFormat.java | 3 +- .../benchmark/utils/RandomGenerator.java | 2 +- .../openmessaging/benchmark/utils/Timer.java | 2 +- .../benchmark/utils/UniformRateLimiter.java | 2 +- .../utils/distributor/KeyDistributor.java | 13 +++++ .../utils/distributor/KeyDistributorType.java | 13 +++++ .../utils/distributor/KeyRoundRobin.java | 2 +- .../utils/distributor/NoKeyDistributor.java | 2 +- .../utils/distributor/RandomNano.java | 2 +- .../utils/payload/FilePayloadReader.java | 2 +- .../utils/payload/PayloadException.java | 2 +- .../utils/payload/PayloadReader.java | 2 +- .../benchmark/worker/BenchmarkWorker.java | 2 +- .../worker/DistributedWorkersEnsemble.java | 11 +++-- .../benchmark/worker/LocalWorker.java | 17 ++++--- .../benchmark/worker/Worker.java | 2 +- .../benchmark/worker/WorkerHandler.java | 2 +- .../worker/commands/ConsumerAssignment.java | 2 +- .../worker/commands/CountersStats.java | 2 +- .../worker/commands/CumulativeLatencies.java | 2 +- .../worker/commands/PeriodStats.java | 2 +- .../commands/ProducerWorkAssignment.java | 2 +- .../worker/commands/TopicSubscription.java | 2 +- .../benchmark/worker/commands/TopicsInfo.java | 2 +- docker/pom.xml | 22 +++++---- driver-api/pom.xml | 22 +++++---- .../benchmark/driver/BenchmarkConsumer.java | 2 +- .../benchmark/driver/BenchmarkDriver.java | 2 +- .../benchmark/driver/BenchmarkProducer.java | 2 +- .../benchmark/driver/ConsumerCallback.java | 2 +- driver-artemis/pom.xml | 26 +++++----- .../artemis/ArtemisBenchmarkConsumer.java | 2 +- .../artemis/ArtemisBenchmarkDriver.java | 2 +- .../artemis/ArtemisBenchmarkProducer.java | 2 +- .../driver/artemis/ArtemisConfig.java | 2 +- driver-bookkeeper/pom.xml | 26 +++++----- .../benchmark/driver/bookkeeper/Config.java | 2 +- .../bookkeeper/DlogBenchmarkConsumer.java | 2 +- .../bookkeeper/DlogBenchmarkDriver.java | 2 +- .../bookkeeper/DlogBenchmarkProducer.java | 2 +- .../bookkeeper/stats/CounterAdaptor.java | 2 +- .../driver/bookkeeper/stats/GaugeAdaptor.java | 2 +- .../stats/OpStatsLoggerAdaptor.java | 2 +- .../bookkeeper/stats/StatsLoggerAdaptor.java | 2 +- driver-jms/pom.xml | 22 +++++---- .../driver/jms/JMSBenchmarkConsumer.java | 2 +- .../driver/jms/JMSBenchmarkDriver.java | 3 +- .../driver/jms/JMSBenchmarkProducer.java | 2 +- .../jms/JMSBenchmarkTransactionProducer.java | 2 +- .../driver/jms/config/JMSConfig.java | 2 +- .../deploy/ssd-deployment/deploy.yaml | 2 +- .../deploy/ssd-deployment/terraform.tfvars | 4 +- driver-kafka/kafka-throughput.yaml | 1 + driver-kafka/pom.xml | 24 +++++----- .../benchmark/driver/kafka/Config.java | 2 +- .../driver/kafka/KafkaBenchmarkConsumer.java | 2 +- .../driver/kafka/KafkaBenchmarkDriver.java | 18 +++---- .../driver/kafka/KafkaBenchmarkProducer.java | 13 +++++ driver-kop/pom.xml | 26 +++++----- .../driver/kop/KopBenchmarkDriver.java | 2 +- .../driver/kop/config/ClientType.java | 2 +- .../benchmark/driver/kop/config/Config.java | 2 +- .../driver/kop/config/PulsarConfig.java | 2 +- .../driver/kop/KopBenchmarkDriverTest.java | 2 +- driver-nats-streaming/pom.xml | 22 +++++---- .../NatsStreamingBenchmarkConsumer.java | 2 +- .../NatsStreamingBenchmarkDriver.java | 2 +- .../NatsStreamingBenchmarkProducer.java | 2 +- .../NatsStreamingClientConfig.java | 2 +- driver-nats/pom.xml | 22 +++++---- .../driver/nats/NatsBenchmarkConsumer.java | 2 +- .../driver/nats/NatsBenchmarkDriver.java | 2 +- .../driver/nats/NatsBenchmarkProducer.java | 5 +- .../benchmark/driver/nats/NatsConfig.java | 2 +- driver-nsq/pom.xml | 22 +++++---- .../driver/nsq/NsqBenchmarkConsumer.java | 2 +- .../driver/nsq/NsqBenchmarkDriver.java | 2 +- .../driver/nsq/NsqBenchmarkProducer.java | 2 +- .../benchmark/driver/nsq/NsqConfig.java | 2 +- driver-pravega/deploy/templates/logback.xml | 26 +++++----- driver-pravega/pom.xml | 22 +++++---- .../pravega/PravegaBenchmarkConsumer.java | 2 +- .../pravega/PravegaBenchmarkDriver.java | 2 +- .../pravega/PravegaBenchmarkProducer.java | 2 +- .../PravegaBenchmarkTransactionProducer.java | 2 +- .../pravega/config/PravegaClientConfig.java | 2 +- .../driver/pravega/config/PravegaConfig.java | 2 +- .../pravega/config/PravegaWriterConfig.java | 2 +- driver-pulsar/deploy/ssd/deploy.yaml | 18 +++---- driver-pulsar/deploy/ssd/templates/bkenv.sh | 23 ++++----- .../deploy/ssd/templates/broker.conf | 17 +++---- .../ssd/templates/pulsar-dashboard.service | 2 - .../deploy/ssd/templates/pulsar_env.sh | 47 +++++++++++++++---- driver-pulsar/deploy/ssd/templates/zoo.cfg | 3 +- driver-pulsar/pom.xml | 22 +++++---- .../pulsar/PulsarBenchmarkConsumer.java | 2 +- .../driver/pulsar/PulsarBenchmarkDriver.java | 10 ++-- .../pulsar/PulsarBenchmarkProducer.java | 2 +- .../pulsar/config/PulsarClientConfig.java | 4 +- .../driver/pulsar/config/PulsarConfig.java | 2 +- .../pulsar/config/PulsarConsumerConfig.java | 2 +- .../pulsar/config/PulsarProducerConfig.java | 2 +- driver-rabbitmq/pom.xml | 22 +++++---- .../rabbitmq/RabbitMqBenchmarkConsumer.java | 2 +- .../rabbitmq/RabbitMqBenchmarkDriver.java | 2 +- .../rabbitmq/RabbitMqBenchmarkProducer.java | 2 +- .../driver/rabbitmq/RabbitMqConfig.java | 2 +- driver-redis/pom.xml | 26 +++++----- .../driver/redis/RedisBenchmarkConsumer.java | 2 +- .../driver/redis/RedisBenchmarkDriver.java | 2 +- .../driver/redis/RedisBenchmarkProducer.java | 2 +- .../redis/client/RedisClientConfig.java | 2 +- driver-rocketmq/pom.xml | 26 +++++----- .../rocketmq/RocketMQBenchmarkConsumer.java | 2 +- .../rocketmq/RocketMQBenchmarkDriver.java | 2 +- .../rocketmq/RocketMQBenchmarkProducer.java | 2 +- .../rocketmq/client/RocketMQClientConfig.java | 2 +- package/pom.xml | 22 +++++---- package/src/assemble/bin.xml | 22 +++++---- package/src/assemble/src.xml | 22 +++++---- pom.xml | 26 +++++----- style/copyright/Apache.xml | 22 +++++---- workloads/100-topic-1kb-4p-4c-2000k.yaml | 33 +++++++++++++ workloads/100-topic-1kb-4p-4c-500k.yaml | 33 +++++++++++++ workloads/100k-topic-1kb-4p-4c-100k.yaml | 33 +++++++++++++ workloads/100k-topic-1kb-4p-4c-2000k.yaml | 33 +++++++++++++ workloads/100k-topic-1kb-4p-4c-500k.yaml | 33 +++++++++++++ workloads/10k-topic-1kb-4p-4c-100k.yaml | 33 +++++++++++++ workloads/10k-topic-1kb-4p-4c-2000k.yaml | 33 +++++++++++++ workloads/10k-topic-1kb-4p-4c-500k.yaml | 33 +++++++++++++ workloads/1k-topic-1kb-4p-4c-100k.yaml | 33 +++++++++++++ workloads/1k-topic-1kb-4p-4c-2000k.yaml | 33 +++++++++++++ workloads/1k-topic-1kb-4p-4c-500k.yaml | 33 +++++++++++++ workloads/1m-topic-1kb-4p-4c-2000k.yaml | 33 +++++++++++++ workloads/1m-topic-1kb-4p-4c-500k.yaml | 33 +++++++++++++ workloads/200k-topic-1kb-4p-4c-100k.yaml | 33 +++++++++++++ workloads/200k-topic-1kb-4p-4c-2000k.yaml | 33 +++++++++++++ workloads/200k-topic-1kb-4p-4c-500k.yaml | 33 +++++++++++++ workloads/300k-topic-1kb-4p-4c-2000k.yaml | 33 +++++++++++++ workloads/300k-topic-1kb-4p-4c-500k.yaml | 33 +++++++++++++ workloads/400k-topic-1kb-4p-4c-2000k.yaml | 33 +++++++++++++ workloads/400k-topic-1kb-4p-4c-500k.yaml | 33 +++++++++++++ workloads/500-topic-1kb-4p-4c-2000k.yaml | 33 +++++++++++++ workloads/500-topic-1kb-4p-4c-500k.yaml | 33 +++++++++++++ workloads/500k-topic-1kb-4p-4c-2000k.yaml | 33 +++++++++++++ workloads/500k-topic-1kb-4p-4c-500k.yaml | 33 +++++++++++++ workloads/50k-topic-1kb-4p-4c-100k.yaml | 33 +++++++++++++ workloads/50k-topic-1kb-4p-4c-2000k.yaml | 33 +++++++++++++ workloads/50k-topic-1kb-4p-4c-500k.yaml | 33 +++++++++++++ workloads/5k-topic-1kb-4p-4c-100k.yaml | 33 +++++++++++++ workloads/5k-topic-1kb-4p-4c-2000k.yaml | 33 +++++++++++++ workloads/5k-topic-1kb-4p-4c-500k.yaml | 33 +++++++++++++ workloads/600k-topic-1kb-4p-4c-2000k.yaml | 33 +++++++++++++ workloads/600k-topic-1kb-4p-4c-600k.yaml | 33 +++++++++++++ workloads/700k-topic-1kb-4p-4c-2000k.yaml | 33 +++++++++++++ workloads/700k-topic-1kb-4p-4c-500k.yaml | 33 +++++++++++++ workloads/800k-topic-1kb-4p-4c-2000k.yaml | 33 +++++++++++++ workloads/800k-topic-1kb-4p-4c-500k.yaml | 33 +++++++++++++ workloads/900k-topic-1kb-4p-4c-2000k.yaml | 33 +++++++++++++ workloads/900k-topic-1kb-4p-4c-500k.yaml | 33 +++++++++++++ 169 files changed, 1770 insertions(+), 407 deletions(-) create mode 100644 workloads/100-topic-1kb-4p-4c-2000k.yaml create mode 100644 workloads/100-topic-1kb-4p-4c-500k.yaml create mode 100644 workloads/100k-topic-1kb-4p-4c-100k.yaml create mode 100644 workloads/100k-topic-1kb-4p-4c-2000k.yaml create mode 100644 workloads/100k-topic-1kb-4p-4c-500k.yaml create mode 100644 workloads/10k-topic-1kb-4p-4c-100k.yaml create mode 100644 workloads/10k-topic-1kb-4p-4c-2000k.yaml create mode 100644 workloads/10k-topic-1kb-4p-4c-500k.yaml create mode 100644 workloads/1k-topic-1kb-4p-4c-100k.yaml create mode 100644 workloads/1k-topic-1kb-4p-4c-2000k.yaml create mode 100644 workloads/1k-topic-1kb-4p-4c-500k.yaml create mode 100644 workloads/1m-topic-1kb-4p-4c-2000k.yaml create mode 100644 workloads/1m-topic-1kb-4p-4c-500k.yaml create mode 100644 workloads/200k-topic-1kb-4p-4c-100k.yaml create mode 100644 workloads/200k-topic-1kb-4p-4c-2000k.yaml create mode 100644 workloads/200k-topic-1kb-4p-4c-500k.yaml create mode 100644 workloads/300k-topic-1kb-4p-4c-2000k.yaml create mode 100644 workloads/300k-topic-1kb-4p-4c-500k.yaml create mode 100644 workloads/400k-topic-1kb-4p-4c-2000k.yaml create mode 100644 workloads/400k-topic-1kb-4p-4c-500k.yaml create mode 100644 workloads/500-topic-1kb-4p-4c-2000k.yaml create mode 100644 workloads/500-topic-1kb-4p-4c-500k.yaml create mode 100644 workloads/500k-topic-1kb-4p-4c-2000k.yaml create mode 100644 workloads/500k-topic-1kb-4p-4c-500k.yaml create mode 100644 workloads/50k-topic-1kb-4p-4c-100k.yaml create mode 100644 workloads/50k-topic-1kb-4p-4c-2000k.yaml create mode 100644 workloads/50k-topic-1kb-4p-4c-500k.yaml create mode 100644 workloads/5k-topic-1kb-4p-4c-100k.yaml create mode 100644 workloads/5k-topic-1kb-4p-4c-2000k.yaml create mode 100644 workloads/5k-topic-1kb-4p-4c-500k.yaml create mode 100644 workloads/600k-topic-1kb-4p-4c-2000k.yaml create mode 100644 workloads/600k-topic-1kb-4p-4c-600k.yaml create mode 100644 workloads/700k-topic-1kb-4p-4c-2000k.yaml create mode 100644 workloads/700k-topic-1kb-4p-4c-500k.yaml create mode 100644 workloads/800k-topic-1kb-4p-4c-2000k.yaml create mode 100644 workloads/800k-topic-1kb-4p-4c-500k.yaml create mode 100644 workloads/900k-topic-1kb-4p-4c-2000k.yaml create mode 100644 workloads/900k-topic-1kb-4p-4c-500k.yaml diff --git a/benchmark-framework/pom.xml b/benchmark-framework/pom.xml index db3dd6ae3..fabb7669b 100644 --- a/benchmark-framework/pom.xml +++ b/benchmark-framework/pom.xml @@ -1,16 +1,18 @@ + + Licensed 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. + +--> 4.0.0 diff --git a/benchmark-framework/src/main/java/io/openmessaging/benchmark/Benchmark.java b/benchmark-framework/src/main/java/io/openmessaging/benchmark/Benchmark.java index 62a4c8865..8d455911f 100644 --- a/benchmark-framework/src/main/java/io/openmessaging/benchmark/Benchmark.java +++ b/benchmark-framework/src/main/java/io/openmessaging/benchmark/Benchmark.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/benchmark-framework/src/main/java/io/openmessaging/benchmark/DriverConfiguration.java b/benchmark-framework/src/main/java/io/openmessaging/benchmark/DriverConfiguration.java index e220cfa2b..4597ab1a3 100644 --- a/benchmark-framework/src/main/java/io/openmessaging/benchmark/DriverConfiguration.java +++ b/benchmark-framework/src/main/java/io/openmessaging/benchmark/DriverConfiguration.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/benchmark-framework/src/main/java/io/openmessaging/benchmark/ResultsToCsv.java b/benchmark-framework/src/main/java/io/openmessaging/benchmark/ResultsToCsv.java index cb30a5646..42910ea79 100644 --- a/benchmark-framework/src/main/java/io/openmessaging/benchmark/ResultsToCsv.java +++ b/benchmark-framework/src/main/java/io/openmessaging/benchmark/ResultsToCsv.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/benchmark-framework/src/main/java/io/openmessaging/benchmark/TestResult.java b/benchmark-framework/src/main/java/io/openmessaging/benchmark/TestResult.java index 62e4ae396..c13192391 100644 --- a/benchmark-framework/src/main/java/io/openmessaging/benchmark/TestResult.java +++ b/benchmark-framework/src/main/java/io/openmessaging/benchmark/TestResult.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/benchmark-framework/src/main/java/io/openmessaging/benchmark/Workers.java b/benchmark-framework/src/main/java/io/openmessaging/benchmark/Workers.java index 52da2c530..076b614c7 100644 --- a/benchmark-framework/src/main/java/io/openmessaging/benchmark/Workers.java +++ b/benchmark-framework/src/main/java/io/openmessaging/benchmark/Workers.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/benchmark-framework/src/main/java/io/openmessaging/benchmark/Workload.java b/benchmark-framework/src/main/java/io/openmessaging/benchmark/Workload.java index 759eb09af..a908f577f 100644 --- a/benchmark-framework/src/main/java/io/openmessaging/benchmark/Workload.java +++ b/benchmark-framework/src/main/java/io/openmessaging/benchmark/Workload.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/benchmark-framework/src/main/java/io/openmessaging/benchmark/WorkloadGenerator.java b/benchmark-framework/src/main/java/io/openmessaging/benchmark/WorkloadGenerator.java index 044f30863..97aa25971 100644 --- a/benchmark-framework/src/main/java/io/openmessaging/benchmark/WorkloadGenerator.java +++ b/benchmark-framework/src/main/java/io/openmessaging/benchmark/WorkloadGenerator.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/ListPartition.java b/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/ListPartition.java index 2af6cfca9..745491d01 100644 --- a/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/ListPartition.java +++ b/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/ListPartition.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/PaddingDecimalFormat.java b/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/PaddingDecimalFormat.java index 31da515ce..7fc674228 100644 --- a/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/PaddingDecimalFormat.java +++ b/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/PaddingDecimalFormat.java @@ -1,5 +1,4 @@ - -/* +/** * Licensed 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 diff --git a/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/RandomGenerator.java b/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/RandomGenerator.java index 2eba74b9e..8848b9a1f 100644 --- a/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/RandomGenerator.java +++ b/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/RandomGenerator.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/Timer.java b/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/Timer.java index d657daf13..e71ffe330 100644 --- a/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/Timer.java +++ b/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/Timer.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/UniformRateLimiter.java b/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/UniformRateLimiter.java index 829e118e9..fdf99c6eb 100644 --- a/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/UniformRateLimiter.java +++ b/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/UniformRateLimiter.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/distributor/KeyDistributor.java b/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/distributor/KeyDistributor.java index 1f26d22c1..6ec3f2462 100644 --- a/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/distributor/KeyDistributor.java +++ b/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/distributor/KeyDistributor.java @@ -1,3 +1,16 @@ +/** + * Licensed 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. + */ /* * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/distributor/KeyDistributorType.java b/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/distributor/KeyDistributorType.java index 773e8d4f8..5949a294f 100644 --- a/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/distributor/KeyDistributorType.java +++ b/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/distributor/KeyDistributorType.java @@ -1,3 +1,16 @@ +/** + * Licensed 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. + */ /* * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/distributor/KeyRoundRobin.java b/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/distributor/KeyRoundRobin.java index 0a3182221..afa8a1ff0 100644 --- a/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/distributor/KeyRoundRobin.java +++ b/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/distributor/KeyRoundRobin.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/distributor/NoKeyDistributor.java b/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/distributor/NoKeyDistributor.java index 593f0e5d4..551875e1b 100644 --- a/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/distributor/NoKeyDistributor.java +++ b/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/distributor/NoKeyDistributor.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/distributor/RandomNano.java b/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/distributor/RandomNano.java index f7265c140..20ecce0d0 100644 --- a/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/distributor/RandomNano.java +++ b/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/distributor/RandomNano.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/payload/FilePayloadReader.java b/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/payload/FilePayloadReader.java index 27cd9463f..ea22c8bd9 100644 --- a/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/payload/FilePayloadReader.java +++ b/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/payload/FilePayloadReader.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/payload/PayloadException.java b/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/payload/PayloadException.java index a3887ac31..afb7e4988 100644 --- a/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/payload/PayloadException.java +++ b/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/payload/PayloadException.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/payload/PayloadReader.java b/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/payload/PayloadReader.java index 97d82aa80..0318b55e9 100644 --- a/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/payload/PayloadReader.java +++ b/benchmark-framework/src/main/java/io/openmessaging/benchmark/utils/payload/PayloadReader.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/BenchmarkWorker.java b/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/BenchmarkWorker.java index d6f9d52fa..47e351454 100644 --- a/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/BenchmarkWorker.java +++ b/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/BenchmarkWorker.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/DistributedWorkersEnsemble.java b/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/DistributedWorkersEnsemble.java index 570c6c81e..95ae70945 100644 --- a/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/DistributedWorkersEnsemble.java +++ b/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/DistributedWorkersEnsemble.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 @@ -30,6 +30,8 @@ import org.HdrHistogram.Histogram; import org.apache.pulsar.common.util.FutureUtil; import org.asynchttpclient.AsyncHttpClient; +import org.asynchttpclient.DefaultAsyncHttpClientConfig; +import org.asynchttpclient.Dsl; import org.slf4j.Logger; import org.slf4j.LoggerFactory; @@ -57,13 +59,16 @@ public class DistributedWorkersEnsemble implements Worker { private final List producerWorkers; private final List consumerWorkers; - private final AsyncHttpClient httpClient = asyncHttpClient(); + private final AsyncHttpClient httpClient; private int numberOfUsedProducerWorkers; public DistributedWorkersEnsemble(List workers, boolean extraConsumerWorkers) { Preconditions.checkArgument(workers.size() > 1); - + DefaultAsyncHttpClientConfig.Builder clientBuilder = Dsl.config() + .setReadTimeout(600000) + .setRequestTimeout(600000); + httpClient = asyncHttpClient(clientBuilder); this.workers = workers; // For driver-jms extra consumers are required. diff --git a/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/LocalWorker.java b/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/LocalWorker.java index 3598a5bbd..e34e4c19d 100644 --- a/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/LocalWorker.java +++ b/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/LocalWorker.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 @@ -87,12 +87,13 @@ public class LocalWorker implements Worker, ConsumerCallback { private final LongAdder totalMessagesSent = new LongAdder(); private final LongAdder totalMessagesReceived = new LongAdder(); - private final Recorder publishLatencyRecorder = new Recorder(TimeUnit.SECONDS.toMicros(60), 5); - private final Recorder cumulativePublishLatencyRecorder = new Recorder(TimeUnit.SECONDS.toMicros(60), 5); + private final static long highestTrackableValue = TimeUnit.SECONDS.toMicros(60); + private final Recorder publishLatencyRecorder = new Recorder(highestTrackableValue, 5); + private final Recorder cumulativePublishLatencyRecorder = new Recorder(highestTrackableValue, 5); private final OpStatsLogger publishLatencyStats; - private final Recorder publishDelayLatencyRecorder = new Recorder(TimeUnit.SECONDS.toMicros(60), 5); - private final Recorder cumulativePublishDelayLatencyRecorder = new Recorder(TimeUnit.SECONDS.toMicros(60), 5); + private final Recorder publishDelayLatencyRecorder = new Recorder(highestTrackableValue, 5); + private final Recorder cumulativePublishDelayLatencyRecorder = new Recorder(highestTrackableValue, 5); private final OpStatsLogger publishDelayLatencyStats; private final Recorder endToEndLatencyRecorder = new Recorder(TimeUnit.HOURS.toMicros(12), 5); @@ -228,12 +229,14 @@ private void submitProducersToExecutor(List producers, KeyDis bytesSent.add(payloadData.length); bytesSentCounter.add(payloadData.length); - long latencyMicros = TimeUnit.NANOSECONDS.toMicros(System.nanoTime() - sendTime); + final long latencyMicros = Math.min(highestTrackableValue, + TimeUnit.NANOSECONDS.toMicros(System.nanoTime() - sendTime)); publishLatencyRecorder.recordValue(latencyMicros); cumulativePublishLatencyRecorder.recordValue(latencyMicros); publishLatencyStats.registerSuccessfulEvent(latencyMicros, TimeUnit.MICROSECONDS); - final long sendDelayMicros = TimeUnit.NANOSECONDS.toMicros(sendTime - intendedSendTime); + final long sendDelayMicros = Math.min(highestTrackableValue, + TimeUnit.NANOSECONDS.toMicros(sendTime - intendedSendTime)); publishDelayLatencyRecorder.recordValue(sendDelayMicros); cumulativePublishDelayLatencyRecorder.recordValue(sendDelayMicros); publishDelayLatencyStats.registerSuccessfulEvent(sendDelayMicros, TimeUnit.MICROSECONDS); diff --git a/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/Worker.java b/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/Worker.java index 794e5635a..6331c6b79 100644 --- a/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/Worker.java +++ b/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/Worker.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/WorkerHandler.java b/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/WorkerHandler.java index 951fab4e9..a83bd0d8e 100644 --- a/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/WorkerHandler.java +++ b/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/WorkerHandler.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/commands/ConsumerAssignment.java b/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/commands/ConsumerAssignment.java index 3ae9c97e7..e7a90aa98 100644 --- a/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/commands/ConsumerAssignment.java +++ b/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/commands/ConsumerAssignment.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/commands/CountersStats.java b/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/commands/CountersStats.java index 0da132c47..b28474838 100644 --- a/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/commands/CountersStats.java +++ b/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/commands/CountersStats.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/commands/CumulativeLatencies.java b/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/commands/CumulativeLatencies.java index 92a12ef7b..bb2484b8a 100644 --- a/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/commands/CumulativeLatencies.java +++ b/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/commands/CumulativeLatencies.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/commands/PeriodStats.java b/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/commands/PeriodStats.java index 1d8c62b73..9f08be837 100644 --- a/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/commands/PeriodStats.java +++ b/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/commands/PeriodStats.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/commands/ProducerWorkAssignment.java b/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/commands/ProducerWorkAssignment.java index 53c7e8869..83f431199 100644 --- a/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/commands/ProducerWorkAssignment.java +++ b/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/commands/ProducerWorkAssignment.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/commands/TopicSubscription.java b/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/commands/TopicSubscription.java index f21ce6745..d4eb57e40 100644 --- a/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/commands/TopicSubscription.java +++ b/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/commands/TopicSubscription.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/commands/TopicsInfo.java b/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/commands/TopicsInfo.java index b277a8f5f..9b9fc4a0f 100644 --- a/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/commands/TopicsInfo.java +++ b/benchmark-framework/src/main/java/io/openmessaging/benchmark/worker/commands/TopicsInfo.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/docker/pom.xml b/docker/pom.xml index 331cc2444..bf5188238 100644 --- a/docker/pom.xml +++ b/docker/pom.xml @@ -1,16 +1,18 @@ + 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. + +--> diff --git a/driver-api/pom.xml b/driver-api/pom.xml index 1ded7a90a..85a7d7fb5 100644 --- a/driver-api/pom.xml +++ b/driver-api/pom.xml @@ -1,16 +1,18 @@ + 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. + +--> 4.0.0 diff --git a/driver-api/src/main/java/io/openmessaging/benchmark/driver/BenchmarkConsumer.java b/driver-api/src/main/java/io/openmessaging/benchmark/driver/BenchmarkConsumer.java index 1788dc6a5..cc2c00385 100644 --- a/driver-api/src/main/java/io/openmessaging/benchmark/driver/BenchmarkConsumer.java +++ b/driver-api/src/main/java/io/openmessaging/benchmark/driver/BenchmarkConsumer.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-api/src/main/java/io/openmessaging/benchmark/driver/BenchmarkDriver.java b/driver-api/src/main/java/io/openmessaging/benchmark/driver/BenchmarkDriver.java index 0d986f223..99d137312 100644 --- a/driver-api/src/main/java/io/openmessaging/benchmark/driver/BenchmarkDriver.java +++ b/driver-api/src/main/java/io/openmessaging/benchmark/driver/BenchmarkDriver.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-api/src/main/java/io/openmessaging/benchmark/driver/BenchmarkProducer.java b/driver-api/src/main/java/io/openmessaging/benchmark/driver/BenchmarkProducer.java index da9bf06ac..1c2420177 100644 --- a/driver-api/src/main/java/io/openmessaging/benchmark/driver/BenchmarkProducer.java +++ b/driver-api/src/main/java/io/openmessaging/benchmark/driver/BenchmarkProducer.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-api/src/main/java/io/openmessaging/benchmark/driver/ConsumerCallback.java b/driver-api/src/main/java/io/openmessaging/benchmark/driver/ConsumerCallback.java index 88817009f..8ae5f7254 100644 --- a/driver-api/src/main/java/io/openmessaging/benchmark/driver/ConsumerCallback.java +++ b/driver-api/src/main/java/io/openmessaging/benchmark/driver/ConsumerCallback.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-artemis/pom.xml b/driver-artemis/pom.xml index 7fd18106a..2427c466d 100644 --- a/driver-artemis/pom.xml +++ b/driver-artemis/pom.xml @@ -1,16 +1,18 @@ + + Licensed 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. + +--> 4.0.0 diff --git a/driver-artemis/src/main/java/io/openmessaging/benchmark/driver/artemis/ArtemisBenchmarkConsumer.java b/driver-artemis/src/main/java/io/openmessaging/benchmark/driver/artemis/ArtemisBenchmarkConsumer.java index c714e71fc..09a0ae833 100644 --- a/driver-artemis/src/main/java/io/openmessaging/benchmark/driver/artemis/ArtemisBenchmarkConsumer.java +++ b/driver-artemis/src/main/java/io/openmessaging/benchmark/driver/artemis/ArtemisBenchmarkConsumer.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-artemis/src/main/java/io/openmessaging/benchmark/driver/artemis/ArtemisBenchmarkDriver.java b/driver-artemis/src/main/java/io/openmessaging/benchmark/driver/artemis/ArtemisBenchmarkDriver.java index ae49824c1..172b4f4f9 100644 --- a/driver-artemis/src/main/java/io/openmessaging/benchmark/driver/artemis/ArtemisBenchmarkDriver.java +++ b/driver-artemis/src/main/java/io/openmessaging/benchmark/driver/artemis/ArtemisBenchmarkDriver.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-artemis/src/main/java/io/openmessaging/benchmark/driver/artemis/ArtemisBenchmarkProducer.java b/driver-artemis/src/main/java/io/openmessaging/benchmark/driver/artemis/ArtemisBenchmarkProducer.java index baaa8cf7c..81d8e483a 100644 --- a/driver-artemis/src/main/java/io/openmessaging/benchmark/driver/artemis/ArtemisBenchmarkProducer.java +++ b/driver-artemis/src/main/java/io/openmessaging/benchmark/driver/artemis/ArtemisBenchmarkProducer.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-artemis/src/main/java/io/openmessaging/benchmark/driver/artemis/ArtemisConfig.java b/driver-artemis/src/main/java/io/openmessaging/benchmark/driver/artemis/ArtemisConfig.java index 418340b66..701bc6638 100644 --- a/driver-artemis/src/main/java/io/openmessaging/benchmark/driver/artemis/ArtemisConfig.java +++ b/driver-artemis/src/main/java/io/openmessaging/benchmark/driver/artemis/ArtemisConfig.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-bookkeeper/pom.xml b/driver-bookkeeper/pom.xml index fcd920f19..119e1cc1d 100644 --- a/driver-bookkeeper/pom.xml +++ b/driver-bookkeeper/pom.xml @@ -1,16 +1,18 @@ + + Licensed 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. + +--> 4.0.0 diff --git a/driver-bookkeeper/src/main/java/io/openmessaging/benchmark/driver/bookkeeper/Config.java b/driver-bookkeeper/src/main/java/io/openmessaging/benchmark/driver/bookkeeper/Config.java index 04b660c50..597080640 100644 --- a/driver-bookkeeper/src/main/java/io/openmessaging/benchmark/driver/bookkeeper/Config.java +++ b/driver-bookkeeper/src/main/java/io/openmessaging/benchmark/driver/bookkeeper/Config.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-bookkeeper/src/main/java/io/openmessaging/benchmark/driver/bookkeeper/DlogBenchmarkConsumer.java b/driver-bookkeeper/src/main/java/io/openmessaging/benchmark/driver/bookkeeper/DlogBenchmarkConsumer.java index 88657e6ee..760c3e848 100644 --- a/driver-bookkeeper/src/main/java/io/openmessaging/benchmark/driver/bookkeeper/DlogBenchmarkConsumer.java +++ b/driver-bookkeeper/src/main/java/io/openmessaging/benchmark/driver/bookkeeper/DlogBenchmarkConsumer.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-bookkeeper/src/main/java/io/openmessaging/benchmark/driver/bookkeeper/DlogBenchmarkDriver.java b/driver-bookkeeper/src/main/java/io/openmessaging/benchmark/driver/bookkeeper/DlogBenchmarkDriver.java index b1ea6071c..fff244d5e 100644 --- a/driver-bookkeeper/src/main/java/io/openmessaging/benchmark/driver/bookkeeper/DlogBenchmarkDriver.java +++ b/driver-bookkeeper/src/main/java/io/openmessaging/benchmark/driver/bookkeeper/DlogBenchmarkDriver.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-bookkeeper/src/main/java/io/openmessaging/benchmark/driver/bookkeeper/DlogBenchmarkProducer.java b/driver-bookkeeper/src/main/java/io/openmessaging/benchmark/driver/bookkeeper/DlogBenchmarkProducer.java index ed2f667a3..a35f8635a 100644 --- a/driver-bookkeeper/src/main/java/io/openmessaging/benchmark/driver/bookkeeper/DlogBenchmarkProducer.java +++ b/driver-bookkeeper/src/main/java/io/openmessaging/benchmark/driver/bookkeeper/DlogBenchmarkProducer.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-bookkeeper/src/main/java/io/openmessaging/benchmark/driver/bookkeeper/stats/CounterAdaptor.java b/driver-bookkeeper/src/main/java/io/openmessaging/benchmark/driver/bookkeeper/stats/CounterAdaptor.java index 61d359969..fdf294a61 100644 --- a/driver-bookkeeper/src/main/java/io/openmessaging/benchmark/driver/bookkeeper/stats/CounterAdaptor.java +++ b/driver-bookkeeper/src/main/java/io/openmessaging/benchmark/driver/bookkeeper/stats/CounterAdaptor.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-bookkeeper/src/main/java/io/openmessaging/benchmark/driver/bookkeeper/stats/GaugeAdaptor.java b/driver-bookkeeper/src/main/java/io/openmessaging/benchmark/driver/bookkeeper/stats/GaugeAdaptor.java index 3900ef854..ae3c38422 100644 --- a/driver-bookkeeper/src/main/java/io/openmessaging/benchmark/driver/bookkeeper/stats/GaugeAdaptor.java +++ b/driver-bookkeeper/src/main/java/io/openmessaging/benchmark/driver/bookkeeper/stats/GaugeAdaptor.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-bookkeeper/src/main/java/io/openmessaging/benchmark/driver/bookkeeper/stats/OpStatsLoggerAdaptor.java b/driver-bookkeeper/src/main/java/io/openmessaging/benchmark/driver/bookkeeper/stats/OpStatsLoggerAdaptor.java index 4f0c4fbdd..72c580d71 100644 --- a/driver-bookkeeper/src/main/java/io/openmessaging/benchmark/driver/bookkeeper/stats/OpStatsLoggerAdaptor.java +++ b/driver-bookkeeper/src/main/java/io/openmessaging/benchmark/driver/bookkeeper/stats/OpStatsLoggerAdaptor.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-bookkeeper/src/main/java/io/openmessaging/benchmark/driver/bookkeeper/stats/StatsLoggerAdaptor.java b/driver-bookkeeper/src/main/java/io/openmessaging/benchmark/driver/bookkeeper/stats/StatsLoggerAdaptor.java index 37337557d..f2627a20a 100644 --- a/driver-bookkeeper/src/main/java/io/openmessaging/benchmark/driver/bookkeeper/stats/StatsLoggerAdaptor.java +++ b/driver-bookkeeper/src/main/java/io/openmessaging/benchmark/driver/bookkeeper/stats/StatsLoggerAdaptor.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-jms/pom.xml b/driver-jms/pom.xml index f79a6462a..8f71eff58 100644 --- a/driver-jms/pom.xml +++ b/driver-jms/pom.xml @@ -1,16 +1,18 @@ + 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. + +--> 4.0.0 diff --git a/driver-jms/src/main/java/io/openmessaging/benchmark/driver/jms/JMSBenchmarkConsumer.java b/driver-jms/src/main/java/io/openmessaging/benchmark/driver/jms/JMSBenchmarkConsumer.java index cc4730d47..44f6becc5 100644 --- a/driver-jms/src/main/java/io/openmessaging/benchmark/driver/jms/JMSBenchmarkConsumer.java +++ b/driver-jms/src/main/java/io/openmessaging/benchmark/driver/jms/JMSBenchmarkConsumer.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-jms/src/main/java/io/openmessaging/benchmark/driver/jms/JMSBenchmarkDriver.java b/driver-jms/src/main/java/io/openmessaging/benchmark/driver/jms/JMSBenchmarkDriver.java index 5d8683000..12b715cb3 100644 --- a/driver-jms/src/main/java/io/openmessaging/benchmark/driver/jms/JMSBenchmarkDriver.java +++ b/driver-jms/src/main/java/io/openmessaging/benchmark/driver/jms/JMSBenchmarkDriver.java @@ -1,5 +1,4 @@ - -/* +/** * Licensed 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 diff --git a/driver-jms/src/main/java/io/openmessaging/benchmark/driver/jms/JMSBenchmarkProducer.java b/driver-jms/src/main/java/io/openmessaging/benchmark/driver/jms/JMSBenchmarkProducer.java index 7b5f9ac4b..b24f0313d 100644 --- a/driver-jms/src/main/java/io/openmessaging/benchmark/driver/jms/JMSBenchmarkProducer.java +++ b/driver-jms/src/main/java/io/openmessaging/benchmark/driver/jms/JMSBenchmarkProducer.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-jms/src/main/java/io/openmessaging/benchmark/driver/jms/JMSBenchmarkTransactionProducer.java b/driver-jms/src/main/java/io/openmessaging/benchmark/driver/jms/JMSBenchmarkTransactionProducer.java index fc3ca70a6..60d60c2d7 100644 --- a/driver-jms/src/main/java/io/openmessaging/benchmark/driver/jms/JMSBenchmarkTransactionProducer.java +++ b/driver-jms/src/main/java/io/openmessaging/benchmark/driver/jms/JMSBenchmarkTransactionProducer.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-jms/src/main/java/io/openmessaging/benchmark/driver/jms/config/JMSConfig.java b/driver-jms/src/main/java/io/openmessaging/benchmark/driver/jms/config/JMSConfig.java index e550872d5..0a87e401c 100644 --- a/driver-jms/src/main/java/io/openmessaging/benchmark/driver/jms/config/JMSConfig.java +++ b/driver-jms/src/main/java/io/openmessaging/benchmark/driver/jms/config/JMSConfig.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-kafka/deploy/ssd-deployment/deploy.yaml b/driver-kafka/deploy/ssd-deployment/deploy.yaml index edc5bf523..d274cb6a6 100644 --- a/driver-kafka/deploy/ssd-deployment/deploy.yaml +++ b/driver-kafka/deploy/ssd-deployment/deploy.yaml @@ -80,7 +80,7 @@ - set_fact: zookeeperServers: "{{ groups['zookeeper'] | map('extract', hostvars, ['ansible_default_ipv4', 'address']) | map('regex_replace', '^(.*)$', '\\1:2181') | join(',') }}" boostrapServers: "{{ groups['kafka'] | map('extract', hostvars, ['private_ip']) | map('regex_replace', '^(.*)$', '\\1:9092') | join(',') }}" - kafkaVersion: "3.0.0" + kafkaVersion: "3.2.1" - debug: msg: "zookeeper servers: {{ zookeeperServers }}\nboostrap servers: {{ boostrapServers }}" - name: Download Kafka package diff --git a/driver-kafka/deploy/ssd-deployment/terraform.tfvars b/driver-kafka/deploy/ssd-deployment/terraform.tfvars index ac01d4acb..09e97c92f 100644 --- a/driver-kafka/deploy/ssd-deployment/terraform.tfvars +++ b/driver-kafka/deploy/ssd-deployment/terraform.tfvars @@ -1,11 +1,11 @@ public_key_path = "~/.ssh/kafka_aws.pub" region = "us-west-2" az = "us-west-2a" -ami = "ami-9fa343e7" // RHEL-7.4 +ami = "ami-08970fb2e5767e3b8" // RHEL-8 instance_types = { "kafka" = "i3en.6xlarge" - "zookeeper" = "t2.small" + "zookeeper" = "t2.xlarge" "client" = "m5n.8xlarge" } diff --git a/driver-kafka/kafka-throughput.yaml b/driver-kafka/kafka-throughput.yaml index 48901e246..445202bd2 100644 --- a/driver-kafka/kafka-throughput.yaml +++ b/driver-kafka/kafka-throughput.yaml @@ -25,6 +25,7 @@ topicConfig: | commonConfig: | bootstrap.servers=localhost:9092 + default.api.timeout.ms=600000 producerConfig: | acks=all diff --git a/driver-kafka/pom.xml b/driver-kafka/pom.xml index 902e68ddf..e87b7d812 100644 --- a/driver-kafka/pom.xml +++ b/driver-kafka/pom.xml @@ -1,16 +1,18 @@ + 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. + +--> 4.0.0 @@ -32,7 +34,7 @@ org.apache.kafka kafka-clients - 3.0.0 + 3.2.1 diff --git a/driver-kafka/src/main/java/io/openmessaging/benchmark/driver/kafka/Config.java b/driver-kafka/src/main/java/io/openmessaging/benchmark/driver/kafka/Config.java index 710580344..7f28aaf57 100644 --- a/driver-kafka/src/main/java/io/openmessaging/benchmark/driver/kafka/Config.java +++ b/driver-kafka/src/main/java/io/openmessaging/benchmark/driver/kafka/Config.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-kafka/src/main/java/io/openmessaging/benchmark/driver/kafka/KafkaBenchmarkConsumer.java b/driver-kafka/src/main/java/io/openmessaging/benchmark/driver/kafka/KafkaBenchmarkConsumer.java index 171c852e5..9b8d1f7d5 100644 --- a/driver-kafka/src/main/java/io/openmessaging/benchmark/driver/kafka/KafkaBenchmarkConsumer.java +++ b/driver-kafka/src/main/java/io/openmessaging/benchmark/driver/kafka/KafkaBenchmarkConsumer.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-kafka/src/main/java/io/openmessaging/benchmark/driver/kafka/KafkaBenchmarkDriver.java b/driver-kafka/src/main/java/io/openmessaging/benchmark/driver/kafka/KafkaBenchmarkDriver.java index 1b1f207df..a87ffe8de 100644 --- a/driver-kafka/src/main/java/io/openmessaging/benchmark/driver/kafka/KafkaBenchmarkDriver.java +++ b/driver-kafka/src/main/java/io/openmessaging/benchmark/driver/kafka/KafkaBenchmarkDriver.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 @@ -110,15 +110,17 @@ public String getTopicNamePrefix() { @SuppressWarnings({ "rawtypes", "unchecked" }) @Override public CompletableFuture createTopic(String topic, int partitions) { - return CompletableFuture.runAsync(() -> { - try { - NewTopic newTopic = new NewTopic(topic, partitions, config.replicationFactor); - newTopic.configs(new HashMap<>((Map) topicProperties)); - admin.createTopics(Arrays.asList(newTopic)).all().get(); - } catch (InterruptedException | ExecutionException e) { - throw new RuntimeException(e); + NewTopic newTopic = new NewTopic(topic, partitions, config.replicationFactor); + newTopic.configs(new HashMap<>((Map) topicProperties)); + CompletableFuture promise = new CompletableFuture<>(); + admin.createTopics(Collections.singletonList(newTopic)).all().whenComplete((__, e) -> { + if (e != null) { + promise.completeExceptionally(e); + } else { + promise.complete(null); } }); + return promise; } @Override diff --git a/driver-kafka/src/main/java/io/openmessaging/benchmark/driver/kafka/KafkaBenchmarkProducer.java b/driver-kafka/src/main/java/io/openmessaging/benchmark/driver/kafka/KafkaBenchmarkProducer.java index 7faba69c9..f242bc2af 100644 --- a/driver-kafka/src/main/java/io/openmessaging/benchmark/driver/kafka/KafkaBenchmarkProducer.java +++ b/driver-kafka/src/main/java/io/openmessaging/benchmark/driver/kafka/KafkaBenchmarkProducer.java @@ -1,3 +1,16 @@ +/** + * Licensed 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. + */ /* * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. diff --git a/driver-kop/pom.xml b/driver-kop/pom.xml index cf78b95a5..6090951f8 100644 --- a/driver-kop/pom.xml +++ b/driver-kop/pom.xml @@ -1,16 +1,18 @@ + + Licensed 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. + +--> 4.0.0 diff --git a/driver-kop/src/main/java/io/openmessaging/benchmark/driver/kop/KopBenchmarkDriver.java b/driver-kop/src/main/java/io/openmessaging/benchmark/driver/kop/KopBenchmarkDriver.java index d855d7c84..b87163455 100644 --- a/driver-kop/src/main/java/io/openmessaging/benchmark/driver/kop/KopBenchmarkDriver.java +++ b/driver-kop/src/main/java/io/openmessaging/benchmark/driver/kop/KopBenchmarkDriver.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-kop/src/main/java/io/openmessaging/benchmark/driver/kop/config/ClientType.java b/driver-kop/src/main/java/io/openmessaging/benchmark/driver/kop/config/ClientType.java index 1e25a856e..f2e88a386 100644 --- a/driver-kop/src/main/java/io/openmessaging/benchmark/driver/kop/config/ClientType.java +++ b/driver-kop/src/main/java/io/openmessaging/benchmark/driver/kop/config/ClientType.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-kop/src/main/java/io/openmessaging/benchmark/driver/kop/config/Config.java b/driver-kop/src/main/java/io/openmessaging/benchmark/driver/kop/config/Config.java index daff56a9c..1a8daeb8f 100644 --- a/driver-kop/src/main/java/io/openmessaging/benchmark/driver/kop/config/Config.java +++ b/driver-kop/src/main/java/io/openmessaging/benchmark/driver/kop/config/Config.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-kop/src/main/java/io/openmessaging/benchmark/driver/kop/config/PulsarConfig.java b/driver-kop/src/main/java/io/openmessaging/benchmark/driver/kop/config/PulsarConfig.java index d9c36bc09..595a504d9 100644 --- a/driver-kop/src/main/java/io/openmessaging/benchmark/driver/kop/config/PulsarConfig.java +++ b/driver-kop/src/main/java/io/openmessaging/benchmark/driver/kop/config/PulsarConfig.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-kop/src/test/java/io/openmessaging/benchmark/driver/kop/KopBenchmarkDriverTest.java b/driver-kop/src/test/java/io/openmessaging/benchmark/driver/kop/KopBenchmarkDriverTest.java index b1fbdffb2..403515b7f 100644 --- a/driver-kop/src/test/java/io/openmessaging/benchmark/driver/kop/KopBenchmarkDriverTest.java +++ b/driver-kop/src/test/java/io/openmessaging/benchmark/driver/kop/KopBenchmarkDriverTest.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-nats-streaming/pom.xml b/driver-nats-streaming/pom.xml index 28f1bb281..40a876e2e 100644 --- a/driver-nats-streaming/pom.xml +++ b/driver-nats-streaming/pom.xml @@ -1,16 +1,18 @@ + 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. + +--> + 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. + +--> diff --git a/driver-nats/src/main/java/io/openmessaging/benchmark/driver/nats/NatsBenchmarkConsumer.java b/driver-nats/src/main/java/io/openmessaging/benchmark/driver/nats/NatsBenchmarkConsumer.java index 8c5fd250b..062dce260 100644 --- a/driver-nats/src/main/java/io/openmessaging/benchmark/driver/nats/NatsBenchmarkConsumer.java +++ b/driver-nats/src/main/java/io/openmessaging/benchmark/driver/nats/NatsBenchmarkConsumer.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-nats/src/main/java/io/openmessaging/benchmark/driver/nats/NatsBenchmarkDriver.java b/driver-nats/src/main/java/io/openmessaging/benchmark/driver/nats/NatsBenchmarkDriver.java index dadc4d278..5f1693057 100644 --- a/driver-nats/src/main/java/io/openmessaging/benchmark/driver/nats/NatsBenchmarkDriver.java +++ b/driver-nats/src/main/java/io/openmessaging/benchmark/driver/nats/NatsBenchmarkDriver.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-nats/src/main/java/io/openmessaging/benchmark/driver/nats/NatsBenchmarkProducer.java b/driver-nats/src/main/java/io/openmessaging/benchmark/driver/nats/NatsBenchmarkProducer.java index bfcba157d..1492404a5 100644 --- a/driver-nats/src/main/java/io/openmessaging/benchmark/driver/nats/NatsBenchmarkProducer.java +++ b/driver-nats/src/main/java/io/openmessaging/benchmark/driver/nats/NatsBenchmarkProducer.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 @@ -13,16 +13,13 @@ */ package io.openmessaging.benchmark.driver.nats; -import io.nats.client.ConnectionListener; import io.openmessaging.benchmark.driver.BenchmarkProducer; -import java.time.Duration; import java.util.Optional; import java.util.concurrent.CompletableFuture; import io.nats.client.Connection; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; import java.util.concurrent.Semaphore; -import javax.sql.ConnectionEventListener; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/driver-nats/src/main/java/io/openmessaging/benchmark/driver/nats/NatsConfig.java b/driver-nats/src/main/java/io/openmessaging/benchmark/driver/nats/NatsConfig.java index 6fb51d4a1..ec2e40626 100644 --- a/driver-nats/src/main/java/io/openmessaging/benchmark/driver/nats/NatsConfig.java +++ b/driver-nats/src/main/java/io/openmessaging/benchmark/driver/nats/NatsConfig.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-nsq/pom.xml b/driver-nsq/pom.xml index 5949884a5..5f16cf095 100644 --- a/driver-nsq/pom.xml +++ b/driver-nsq/pom.xml @@ -1,16 +1,18 @@ + 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. + +--> diff --git a/driver-nsq/src/main/java/io/openmessaging/benchmark/driver/nsq/NsqBenchmarkConsumer.java b/driver-nsq/src/main/java/io/openmessaging/benchmark/driver/nsq/NsqBenchmarkConsumer.java index a301da2ca..4012a41e0 100644 --- a/driver-nsq/src/main/java/io/openmessaging/benchmark/driver/nsq/NsqBenchmarkConsumer.java +++ b/driver-nsq/src/main/java/io/openmessaging/benchmark/driver/nsq/NsqBenchmarkConsumer.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-nsq/src/main/java/io/openmessaging/benchmark/driver/nsq/NsqBenchmarkDriver.java b/driver-nsq/src/main/java/io/openmessaging/benchmark/driver/nsq/NsqBenchmarkDriver.java index 4c1581c89..e0e0d0a88 100644 --- a/driver-nsq/src/main/java/io/openmessaging/benchmark/driver/nsq/NsqBenchmarkDriver.java +++ b/driver-nsq/src/main/java/io/openmessaging/benchmark/driver/nsq/NsqBenchmarkDriver.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-nsq/src/main/java/io/openmessaging/benchmark/driver/nsq/NsqBenchmarkProducer.java b/driver-nsq/src/main/java/io/openmessaging/benchmark/driver/nsq/NsqBenchmarkProducer.java index 1ae87645e..701d42950 100644 --- a/driver-nsq/src/main/java/io/openmessaging/benchmark/driver/nsq/NsqBenchmarkProducer.java +++ b/driver-nsq/src/main/java/io/openmessaging/benchmark/driver/nsq/NsqBenchmarkProducer.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-nsq/src/main/java/io/openmessaging/benchmark/driver/nsq/NsqConfig.java b/driver-nsq/src/main/java/io/openmessaging/benchmark/driver/nsq/NsqConfig.java index 5658105e2..c5e8189a7 100644 --- a/driver-nsq/src/main/java/io/openmessaging/benchmark/driver/nsq/NsqConfig.java +++ b/driver-nsq/src/main/java/io/openmessaging/benchmark/driver/nsq/NsqConfig.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-pravega/deploy/templates/logback.xml b/driver-pravega/deploy/templates/logback.xml index 33bec7685..ad30f68d0 100644 --- a/driver-pravega/deploy/templates/logback.xml +++ b/driver-pravega/deploy/templates/logback.xml @@ -1,17 +1,19 @@ + + Licensed 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. + +--> diff --git a/driver-pravega/pom.xml b/driver-pravega/pom.xml index 6989533a8..dea4a10ce 100644 --- a/driver-pravega/pom.xml +++ b/driver-pravega/pom.xml @@ -1,16 +1,18 @@ + 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. + +--> 4.0.0 diff --git a/driver-pravega/src/main/java/io/openmessaging/benchmark/driver/pravega/PravegaBenchmarkConsumer.java b/driver-pravega/src/main/java/io/openmessaging/benchmark/driver/pravega/PravegaBenchmarkConsumer.java index d2b12b252..20928b96c 100644 --- a/driver-pravega/src/main/java/io/openmessaging/benchmark/driver/pravega/PravegaBenchmarkConsumer.java +++ b/driver-pravega/src/main/java/io/openmessaging/benchmark/driver/pravega/PravegaBenchmarkConsumer.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-pravega/src/main/java/io/openmessaging/benchmark/driver/pravega/PravegaBenchmarkDriver.java b/driver-pravega/src/main/java/io/openmessaging/benchmark/driver/pravega/PravegaBenchmarkDriver.java index 2f8eefa53..15cfd0e8f 100644 --- a/driver-pravega/src/main/java/io/openmessaging/benchmark/driver/pravega/PravegaBenchmarkDriver.java +++ b/driver-pravega/src/main/java/io/openmessaging/benchmark/driver/pravega/PravegaBenchmarkDriver.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-pravega/src/main/java/io/openmessaging/benchmark/driver/pravega/PravegaBenchmarkProducer.java b/driver-pravega/src/main/java/io/openmessaging/benchmark/driver/pravega/PravegaBenchmarkProducer.java index fd9546fd3..e59849408 100644 --- a/driver-pravega/src/main/java/io/openmessaging/benchmark/driver/pravega/PravegaBenchmarkProducer.java +++ b/driver-pravega/src/main/java/io/openmessaging/benchmark/driver/pravega/PravegaBenchmarkProducer.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-pravega/src/main/java/io/openmessaging/benchmark/driver/pravega/PravegaBenchmarkTransactionProducer.java b/driver-pravega/src/main/java/io/openmessaging/benchmark/driver/pravega/PravegaBenchmarkTransactionProducer.java index 8071caec3..883cf5100 100644 --- a/driver-pravega/src/main/java/io/openmessaging/benchmark/driver/pravega/PravegaBenchmarkTransactionProducer.java +++ b/driver-pravega/src/main/java/io/openmessaging/benchmark/driver/pravega/PravegaBenchmarkTransactionProducer.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-pravega/src/main/java/io/openmessaging/benchmark/driver/pravega/config/PravegaClientConfig.java b/driver-pravega/src/main/java/io/openmessaging/benchmark/driver/pravega/config/PravegaClientConfig.java index f1dd86b60..be69af873 100644 --- a/driver-pravega/src/main/java/io/openmessaging/benchmark/driver/pravega/config/PravegaClientConfig.java +++ b/driver-pravega/src/main/java/io/openmessaging/benchmark/driver/pravega/config/PravegaClientConfig.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-pravega/src/main/java/io/openmessaging/benchmark/driver/pravega/config/PravegaConfig.java b/driver-pravega/src/main/java/io/openmessaging/benchmark/driver/pravega/config/PravegaConfig.java index 0853bb4b3..30b7ac5e3 100644 --- a/driver-pravega/src/main/java/io/openmessaging/benchmark/driver/pravega/config/PravegaConfig.java +++ b/driver-pravega/src/main/java/io/openmessaging/benchmark/driver/pravega/config/PravegaConfig.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-pravega/src/main/java/io/openmessaging/benchmark/driver/pravega/config/PravegaWriterConfig.java b/driver-pravega/src/main/java/io/openmessaging/benchmark/driver/pravega/config/PravegaWriterConfig.java index d470e8d31..1466c7068 100644 --- a/driver-pravega/src/main/java/io/openmessaging/benchmark/driver/pravega/config/PravegaWriterConfig.java +++ b/driver-pravega/src/main/java/io/openmessaging/benchmark/driver/pravega/config/PravegaWriterConfig.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-pulsar/deploy/ssd/deploy.yaml b/driver-pulsar/deploy/ssd/deploy.yaml index 2e53000f8..b42204275 100644 --- a/driver-pulsar/deploy/ssd/deploy.yaml +++ b/driver-pulsar/deploy/ssd/deploy.yaml @@ -218,21 +218,21 @@ state: restarted daemon_reload: yes name: "zookeeper" - - command: > - bin/pulsar initialize-cluster-metadata --cluster local - --zookeeper localhost:2181 - --configuration-store localhost:2181 - --web-service-url {{ httpUrl }} - --broker-service-url {{ serviceUrl }} - args: - chdir: /opt/pulsar - when: groups['zookeeper'][0] == inventory_hostname - name: BookKeeper setup hosts: pulsar connection: ssh become: true tasks: + - command: > + bin/pulsar initialize-cluster-metadata --cluster local + --zookeeper {{ hostvars[groups['zookeeper'][0]].private_ip }}:2181 + --configuration-store {{ hostvars[groups['zookeeper'][0]].private_ip }}:2181 + --web-service-url {{ httpUrl }} + --broker-service-url {{ serviceUrl }} + args: + chdir: /opt/pulsar + when: groups['pulsar'][0] == inventory_hostname - set_fact: skip_journal: "{{ skip_journal | default(false) }}" - name: Apply BookKeeper configuration file [Bypass Journal] diff --git a/driver-pulsar/deploy/ssd/templates/bkenv.sh b/driver-pulsar/deploy/ssd/templates/bkenv.sh index 393fb7cb4..ab530c297 100644 --- a/driver-pulsar/deploy/ssd/templates/bkenv.sh +++ b/driver-pulsar/deploy/ssd/templates/bkenv.sh @@ -1,21 +1,16 @@ #!/bin/sh # -# 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 +# Licensed 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 +# 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. +# 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. # # NOTE: this script is intentionally not executable. It is only meant to be sourced for environment variables. diff --git a/driver-pulsar/deploy/ssd/templates/broker.conf b/driver-pulsar/deploy/ssd/templates/broker.conf index 6397826df..bea319ea0 100644 --- a/driver-pulsar/deploy/ssd/templates/broker.conf +++ b/driver-pulsar/deploy/ssd/templates/broker.conf @@ -18,28 +18,23 @@ # Zookeeper quorum connection string zookeeperServers={{ zookeeperServers }} - # Global Zookeeper quorum connection string globalZookeeperServers={{ zookeeperServers }} - # Hostname or IP address the service advertises to the outside world. If not set, the value of InetAddress.getLocalHost().getHostName() is used. advertisedAddress={{ hostvars[inventory_hostname].private_ip }} - # Name of the cluster to which this broker belongs to clusterName=local - loadBalancerAutoUnloadSplitBundlesEnabled=false - defaultNumberOfNamespaceBundles=64 - managedLedgerNewEntriesCheckDelayInMillis=0 - bookkeeperNumberOfChannelsPerBookie=64 - managedLedgerCacheEvictionFrequency=0.2 - # Increasing from default to avoid throttling lookups maxConcurrentLookupRequest=500000 - loadBalancerOverrideBrokerNicSpeedGbps=25 - +forceDeleteTenantAllowed=true +forceDeleteNamespaceAllowed=true +exposeManagedLedgerMetricsInPrometheus=false +exposeTopicLevelMetricsInPrometheus=false +systemTopicEnabled=false +topicLevelPoliciesEnabled=false diff --git a/driver-pulsar/deploy/ssd/templates/pulsar-dashboard.service b/driver-pulsar/deploy/ssd/templates/pulsar-dashboard.service index 24e69b7f7..a3ee6a0ef 100644 --- a/driver-pulsar/deploy/ssd/templates/pulsar-dashboard.service +++ b/driver-pulsar/deploy/ssd/templates/pulsar-dashboard.service @@ -1,7 +1,5 @@ [Unit] Description=Pulsar Dashboard -After=docker.service -Requires=docker.service After=prometheus.service Requires=prometheus.service diff --git a/driver-pulsar/deploy/ssd/templates/pulsar_env.sh b/driver-pulsar/deploy/ssd/templates/pulsar_env.sh index b33df2ee6..f13d0332c 100644 --- a/driver-pulsar/deploy/ssd/templates/pulsar_env.sh +++ b/driver-pulsar/deploy/ssd/templates/pulsar_env.sh @@ -37,17 +37,48 @@ # PULSAR_GLOBAL_ZK_CONF= # Extra options to be passed to the jvm -PULSAR_MEM=" -Xms{{ max_heap_memory }} -Xmx{{ max_heap_memory }} -XX:MaxDirectMemorySize={{ max_direct_memory }}" +PULSAR_MEM=${PULSAR_MEM:-" -Xms{{ max_heap_memory }} -Xmx{{ max_heap_memory }} -XX:MaxDirectMemorySize={{ max_direct_memory }}"} # Garbage collection options -PULSAR_GC=" -XX:+UseZGC" -PULSAR_GC="${PULSAR_GC} -XX:+PerfDisableSharedMem" +PULSAR_GC=${PULSAR_GC:-"-XX:+UseZGC -XX:+PerfDisableSharedMem -XX:+AlwaysPreTouch"} -# Extra options to be passed to the jvm -PULSAR_EXTRA_OPTS="${PULSAR_EXTRA_OPTS} ${PULSAR_MEM} ${PULSAR_GC} -Dio.netty.leakDetectionLevel=disabled -Dio.netty.recycler.maxCapacity.default=1000 -Dio.netty.recycler.linkCapacity=1024" +if [ -z "$JAVA_HOME" ]; then + JAVA_BIN=java +else + JAVA_BIN="$JAVA_HOME/bin/java" +fi +for token in $("$JAVA_BIN" -version 2>&1 | grep 'version "'); do + if [[ $token =~ \"([[:digit:]]+)\.([[:digit:]]+)(.*)\" ]]; then + if [[ ${BASH_REMATCH[1]} == "1" ]]; then + JAVA_MAJOR_VERSION=${BASH_REMATCH[2]} + else + JAVA_MAJOR_VERSION=${BASH_REMATCH[1]} + fi + break + elif [[ $token =~ \"([[:digit:]]+)(.*)\" ]]; then + # Process the java versions without dots, such as `17-internal`. + JAVA_MAJOR_VERSION=${BASH_REMATCH[1]} + break + fi +done + +PULSAR_GC_LOG_DIR=${PULSAR_GC_LOG_DIR:-"${PULSAR_LOG_DIR}"} -# Extra options to be passed to the BookKeeper JVM -BOOKIE_EXTRA_OPTS="${PULSAR_EXTRA_OPTS} ${PULSAR_MEM} ${PULSAR_GC} -Dio.netty.leakDetectionLevel=disabled -Dio.netty.recycler.maxCapacity.default=1000 -Dio.netty.recycler.linkCapacity=1024" +if [[ -z "$PULSAR_GC_LOG" ]]; then + if [[ $JAVA_MAJOR_VERSION -gt 8 ]]; then + PULSAR_GC_LOG="-Xlog:gc*,safepoint:${PULSAR_GC_LOG_DIR}/pulsar_gc_%p.log:time,uptime,tags:filecount=10,filesize=20M" + if [[ $JAVA_MAJOR_VERSION -ge 17 ]]; then + # Use async logging on Java 17+ https://bugs.openjdk.java.net/browse/JDK-8264323 + PULSAR_GC_LOG="-Xlog:async ${PULSAR_GC_LOG}" + fi + else + # Java 8 gc log options + PULSAR_GC_LOG="-Xloggc:${PULSAR_GC_LOG_DIR}/pulsar_gc_%p.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintGCApplicationStoppedTime -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=10 -XX:GCLogFileSize=20M" + fi +fi + +# Extra options to be passed to the jvm +PULSAR_EXTRA_OPTS="${PULSAR_EXTRA_OPTS:-" -Dpulsar.allocator.exit_on_oom=true -Dio.netty.recycler.maxCapacityPerThread=4096"}" # Add extra paths to the bookkeeper classpath # PULSAR_EXTRA_CLASSPATH= @@ -55,5 +86,5 @@ BOOKIE_EXTRA_OPTS="${PULSAR_EXTRA_OPTS} ${PULSAR_MEM} ${PULSAR_GC} -Dio.netty.le #Folder where the Bookie server PID file should be stored #PULSAR_PID_DIR= -#Wait time before forcefully kill the pulser server instance, if the stop is not successful +#Wait time before forcefully kill the pulsar server instance, if the stop is not successful #PULSAR_STOP_TIMEOUT= diff --git a/driver-pulsar/deploy/ssd/templates/zoo.cfg b/driver-pulsar/deploy/ssd/templates/zoo.cfg index dbd337067..195e73a08 100644 --- a/driver-pulsar/deploy/ssd/templates/zoo.cfg +++ b/driver-pulsar/deploy/ssd/templates/zoo.cfg @@ -38,7 +38,8 @@ autopurge.snapRetainCount=3 # Purge task interval in hours # Set to "0" to disable auto purge feature autopurge.purgeInterval=1 - +metricsProvider.className=org.apache.zookeeper.metrics.prometheus.PrometheusMetricsProvider +metricsProvider.httpPort=8000 {% for zk in groups['zookeeper'] %} server.{{ hostvars[zk].zid }}={{ hostvars[zk].private_ip }}:2888:3888 {% endfor %} diff --git a/driver-pulsar/pom.xml b/driver-pulsar/pom.xml index 5606703d8..839ebf811 100644 --- a/driver-pulsar/pom.xml +++ b/driver-pulsar/pom.xml @@ -1,16 +1,18 @@ + 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. + +--> 4.0.0 diff --git a/driver-pulsar/src/main/java/io/openmessaging/benchmark/driver/pulsar/PulsarBenchmarkConsumer.java b/driver-pulsar/src/main/java/io/openmessaging/benchmark/driver/pulsar/PulsarBenchmarkConsumer.java index f64db5f62..1d73ea9a6 100644 --- a/driver-pulsar/src/main/java/io/openmessaging/benchmark/driver/pulsar/PulsarBenchmarkConsumer.java +++ b/driver-pulsar/src/main/java/io/openmessaging/benchmark/driver/pulsar/PulsarBenchmarkConsumer.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-pulsar/src/main/java/io/openmessaging/benchmark/driver/pulsar/PulsarBenchmarkDriver.java b/driver-pulsar/src/main/java/io/openmessaging/benchmark/driver/pulsar/PulsarBenchmarkDriver.java index 0d085dba0..ba4a06bf3 100644 --- a/driver-pulsar/src/main/java/io/openmessaging/benchmark/driver/pulsar/PulsarBenchmarkDriver.java +++ b/driver-pulsar/src/main/java/io/openmessaging/benchmark/driver/pulsar/PulsarBenchmarkDriver.java @@ -1,5 +1,4 @@ - -/* +/** * Licensed 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 @@ -66,8 +65,6 @@ public class PulsarBenchmarkDriver implements BenchmarkDriver { private PulsarConfig config; - - private String namespace; private ProducerBuilder producerBuilder; @@ -81,9 +78,10 @@ public void initialize(File configurationFile, StatsLogger statsLogger) throws I .connectionsPerBroker(config.client.connectionsPerBroker) .statsInterval(0, TimeUnit.SECONDS) .serviceUrl(config.client.serviceUrl) - .maxConcurrentLookupRequests(50000) - .maxLookupRequests(100000) + .maxConcurrentLookupRequests(config.client.maxConcurrentLookupRequests) + .maxLookupRequests(Integer.MAX_VALUE) .memoryLimit(config.client.clientMemoryLimitMB, SizeUnit.MEGA_BYTES) + .operationTimeout(10, TimeUnit.MINUTES) .listenerThreads(Runtime.getRuntime().availableProcessors()); if (config.client.serviceUrl.startsWith("pulsar+ssl")) { diff --git a/driver-pulsar/src/main/java/io/openmessaging/benchmark/driver/pulsar/PulsarBenchmarkProducer.java b/driver-pulsar/src/main/java/io/openmessaging/benchmark/driver/pulsar/PulsarBenchmarkProducer.java index cad7a4a12..cda35459f 100644 --- a/driver-pulsar/src/main/java/io/openmessaging/benchmark/driver/pulsar/PulsarBenchmarkProducer.java +++ b/driver-pulsar/src/main/java/io/openmessaging/benchmark/driver/pulsar/PulsarBenchmarkProducer.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-pulsar/src/main/java/io/openmessaging/benchmark/driver/pulsar/config/PulsarClientConfig.java b/driver-pulsar/src/main/java/io/openmessaging/benchmark/driver/pulsar/config/PulsarClientConfig.java index a143e75a0..cbdebd39a 100644 --- a/driver-pulsar/src/main/java/io/openmessaging/benchmark/driver/pulsar/config/PulsarClientConfig.java +++ b/driver-pulsar/src/main/java/io/openmessaging/benchmark/driver/pulsar/config/PulsarClientConfig.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 @@ -26,6 +26,8 @@ public class PulsarClientConfig { public int connectionsPerBroker = 8; + public int maxConcurrentLookupRequests = 1000; + public String namespacePrefix; public String clusterName; diff --git a/driver-pulsar/src/main/java/io/openmessaging/benchmark/driver/pulsar/config/PulsarConfig.java b/driver-pulsar/src/main/java/io/openmessaging/benchmark/driver/pulsar/config/PulsarConfig.java index 8bcb24622..ec3512c63 100644 --- a/driver-pulsar/src/main/java/io/openmessaging/benchmark/driver/pulsar/config/PulsarConfig.java +++ b/driver-pulsar/src/main/java/io/openmessaging/benchmark/driver/pulsar/config/PulsarConfig.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-pulsar/src/main/java/io/openmessaging/benchmark/driver/pulsar/config/PulsarConsumerConfig.java b/driver-pulsar/src/main/java/io/openmessaging/benchmark/driver/pulsar/config/PulsarConsumerConfig.java index 981271eec..8d34d8819 100644 --- a/driver-pulsar/src/main/java/io/openmessaging/benchmark/driver/pulsar/config/PulsarConsumerConfig.java +++ b/driver-pulsar/src/main/java/io/openmessaging/benchmark/driver/pulsar/config/PulsarConsumerConfig.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-pulsar/src/main/java/io/openmessaging/benchmark/driver/pulsar/config/PulsarProducerConfig.java b/driver-pulsar/src/main/java/io/openmessaging/benchmark/driver/pulsar/config/PulsarProducerConfig.java index 0cfa555f4..1528e4d74 100644 --- a/driver-pulsar/src/main/java/io/openmessaging/benchmark/driver/pulsar/config/PulsarProducerConfig.java +++ b/driver-pulsar/src/main/java/io/openmessaging/benchmark/driver/pulsar/config/PulsarProducerConfig.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-rabbitmq/pom.xml b/driver-rabbitmq/pom.xml index e30c157d5..1828f94da 100644 --- a/driver-rabbitmq/pom.xml +++ b/driver-rabbitmq/pom.xml @@ -1,16 +1,18 @@ + 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. + +--> 4.0.0 diff --git a/driver-rabbitmq/src/main/java/io/openmessaging/benchmark/driver/rabbitmq/RabbitMqBenchmarkConsumer.java b/driver-rabbitmq/src/main/java/io/openmessaging/benchmark/driver/rabbitmq/RabbitMqBenchmarkConsumer.java index 975121e18..a7b30925a 100644 --- a/driver-rabbitmq/src/main/java/io/openmessaging/benchmark/driver/rabbitmq/RabbitMqBenchmarkConsumer.java +++ b/driver-rabbitmq/src/main/java/io/openmessaging/benchmark/driver/rabbitmq/RabbitMqBenchmarkConsumer.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-rabbitmq/src/main/java/io/openmessaging/benchmark/driver/rabbitmq/RabbitMqBenchmarkDriver.java b/driver-rabbitmq/src/main/java/io/openmessaging/benchmark/driver/rabbitmq/RabbitMqBenchmarkDriver.java index 328bd1d0f..370f7ae76 100644 --- a/driver-rabbitmq/src/main/java/io/openmessaging/benchmark/driver/rabbitmq/RabbitMqBenchmarkDriver.java +++ b/driver-rabbitmq/src/main/java/io/openmessaging/benchmark/driver/rabbitmq/RabbitMqBenchmarkDriver.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-rabbitmq/src/main/java/io/openmessaging/benchmark/driver/rabbitmq/RabbitMqBenchmarkProducer.java b/driver-rabbitmq/src/main/java/io/openmessaging/benchmark/driver/rabbitmq/RabbitMqBenchmarkProducer.java index f795158ee..7aeaaeb3d 100644 --- a/driver-rabbitmq/src/main/java/io/openmessaging/benchmark/driver/rabbitmq/RabbitMqBenchmarkProducer.java +++ b/driver-rabbitmq/src/main/java/io/openmessaging/benchmark/driver/rabbitmq/RabbitMqBenchmarkProducer.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-rabbitmq/src/main/java/io/openmessaging/benchmark/driver/rabbitmq/RabbitMqConfig.java b/driver-rabbitmq/src/main/java/io/openmessaging/benchmark/driver/rabbitmq/RabbitMqConfig.java index 6518e44fe..8fe2794cb 100644 --- a/driver-rabbitmq/src/main/java/io/openmessaging/benchmark/driver/rabbitmq/RabbitMqConfig.java +++ b/driver-rabbitmq/src/main/java/io/openmessaging/benchmark/driver/rabbitmq/RabbitMqConfig.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-redis/pom.xml b/driver-redis/pom.xml index 105a07c44..2b3e68361 100644 --- a/driver-redis/pom.xml +++ b/driver-redis/pom.xml @@ -1,16 +1,18 @@ + + Licensed 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. + +--> diff --git a/driver-redis/src/main/java/io/openmessaging/benchmark/driver/redis/RedisBenchmarkConsumer.java b/driver-redis/src/main/java/io/openmessaging/benchmark/driver/redis/RedisBenchmarkConsumer.java index c9d8b60a2..73d41e4cf 100644 --- a/driver-redis/src/main/java/io/openmessaging/benchmark/driver/redis/RedisBenchmarkConsumer.java +++ b/driver-redis/src/main/java/io/openmessaging/benchmark/driver/redis/RedisBenchmarkConsumer.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-redis/src/main/java/io/openmessaging/benchmark/driver/redis/RedisBenchmarkDriver.java b/driver-redis/src/main/java/io/openmessaging/benchmark/driver/redis/RedisBenchmarkDriver.java index 9e5b28c87..0e8b17215 100644 --- a/driver-redis/src/main/java/io/openmessaging/benchmark/driver/redis/RedisBenchmarkDriver.java +++ b/driver-redis/src/main/java/io/openmessaging/benchmark/driver/redis/RedisBenchmarkDriver.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-redis/src/main/java/io/openmessaging/benchmark/driver/redis/RedisBenchmarkProducer.java b/driver-redis/src/main/java/io/openmessaging/benchmark/driver/redis/RedisBenchmarkProducer.java index d62c4c246..71ca82802 100644 --- a/driver-redis/src/main/java/io/openmessaging/benchmark/driver/redis/RedisBenchmarkProducer.java +++ b/driver-redis/src/main/java/io/openmessaging/benchmark/driver/redis/RedisBenchmarkProducer.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-redis/src/main/java/io/openmessaging/benchmark/driver/redis/client/RedisClientConfig.java b/driver-redis/src/main/java/io/openmessaging/benchmark/driver/redis/client/RedisClientConfig.java index 899f752ef..6bb220607 100644 --- a/driver-redis/src/main/java/io/openmessaging/benchmark/driver/redis/client/RedisClientConfig.java +++ b/driver-redis/src/main/java/io/openmessaging/benchmark/driver/redis/client/RedisClientConfig.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-rocketmq/pom.xml b/driver-rocketmq/pom.xml index dc388dd56..bc812c6bf 100644 --- a/driver-rocketmq/pom.xml +++ b/driver-rocketmq/pom.xml @@ -1,16 +1,18 @@ + + Licensed 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. + +--> diff --git a/driver-rocketmq/src/main/java/io/openmessaging/benchmark/driver/rocketmq/RocketMQBenchmarkConsumer.java b/driver-rocketmq/src/main/java/io/openmessaging/benchmark/driver/rocketmq/RocketMQBenchmarkConsumer.java index a79b9ede1..9e483ae71 100644 --- a/driver-rocketmq/src/main/java/io/openmessaging/benchmark/driver/rocketmq/RocketMQBenchmarkConsumer.java +++ b/driver-rocketmq/src/main/java/io/openmessaging/benchmark/driver/rocketmq/RocketMQBenchmarkConsumer.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-rocketmq/src/main/java/io/openmessaging/benchmark/driver/rocketmq/RocketMQBenchmarkDriver.java b/driver-rocketmq/src/main/java/io/openmessaging/benchmark/driver/rocketmq/RocketMQBenchmarkDriver.java index 8ac7c1f72..6efefa2ec 100644 --- a/driver-rocketmq/src/main/java/io/openmessaging/benchmark/driver/rocketmq/RocketMQBenchmarkDriver.java +++ b/driver-rocketmq/src/main/java/io/openmessaging/benchmark/driver/rocketmq/RocketMQBenchmarkDriver.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-rocketmq/src/main/java/io/openmessaging/benchmark/driver/rocketmq/RocketMQBenchmarkProducer.java b/driver-rocketmq/src/main/java/io/openmessaging/benchmark/driver/rocketmq/RocketMQBenchmarkProducer.java index 838808729..811e05d66 100644 --- a/driver-rocketmq/src/main/java/io/openmessaging/benchmark/driver/rocketmq/RocketMQBenchmarkProducer.java +++ b/driver-rocketmq/src/main/java/io/openmessaging/benchmark/driver/rocketmq/RocketMQBenchmarkProducer.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/driver-rocketmq/src/main/java/io/openmessaging/benchmark/driver/rocketmq/client/RocketMQClientConfig.java b/driver-rocketmq/src/main/java/io/openmessaging/benchmark/driver/rocketmq/client/RocketMQClientConfig.java index 840090452..a597c4057 100644 --- a/driver-rocketmq/src/main/java/io/openmessaging/benchmark/driver/rocketmq/client/RocketMQClientConfig.java +++ b/driver-rocketmq/src/main/java/io/openmessaging/benchmark/driver/rocketmq/client/RocketMQClientConfig.java @@ -1,4 +1,4 @@ -/* +/** * Licensed 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 diff --git a/package/pom.xml b/package/pom.xml index aed395e9f..07235dfba 100644 --- a/package/pom.xml +++ b/package/pom.xml @@ -1,16 +1,18 @@ + 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. + +--> 4.0.0 diff --git a/package/src/assemble/bin.xml b/package/src/assemble/bin.xml index 19cece2ad..1ae16f685 100644 --- a/package/src/assemble/bin.xml +++ b/package/src/assemble/bin.xml @@ -1,16 +1,18 @@ + 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. + +--> + 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. + +--> + + Licensed 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. + +--> 4.0.0 diff --git a/style/copyright/Apache.xml b/style/copyright/Apache.xml index 8301fbd80..1dc9ce264 100644 --- a/style/copyright/Apache.xml +++ b/style/copyright/Apache.xml @@ -1,16 +1,18 @@ + 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. + +--> diff --git a/workloads/100-topic-1kb-4p-4c-2000k.yaml b/workloads/100-topic-1kb-4p-4c-2000k.yaml new file mode 100644 index 000000000..f70d0da2b --- /dev/null +++ b/workloads/100-topic-1kb-4p-4c-2000k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 2000k rate 4 producers and 4 consumers on 100 topic + +topics: 100 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 2000000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/100-topic-1kb-4p-4c-500k.yaml b/workloads/100-topic-1kb-4p-4c-500k.yaml new file mode 100644 index 000000000..4b577432b --- /dev/null +++ b/workloads/100-topic-1kb-4p-4c-500k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 500k rate 4 producers and 4 consumers on 100 topic + +topics: 100 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 500000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/100k-topic-1kb-4p-4c-100k.yaml b/workloads/100k-topic-1kb-4p-4c-100k.yaml new file mode 100644 index 000000000..20c6b04f2 --- /dev/null +++ b/workloads/100k-topic-1kb-4p-4c-100k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 100k rate 4 producers and 4 consumers on 100k topic + +topics: 100000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 100000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/100k-topic-1kb-4p-4c-2000k.yaml b/workloads/100k-topic-1kb-4p-4c-2000k.yaml new file mode 100644 index 000000000..6b5134436 --- /dev/null +++ b/workloads/100k-topic-1kb-4p-4c-2000k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 2000k rate 4 producers and 4 consumers on 100k topic + +topics: 100000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 2000000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/100k-topic-1kb-4p-4c-500k.yaml b/workloads/100k-topic-1kb-4p-4c-500k.yaml new file mode 100644 index 000000000..4a5db4461 --- /dev/null +++ b/workloads/100k-topic-1kb-4p-4c-500k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 500k rate 4 producers and 4 consumers on 100k topic + +topics: 100000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 500000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/10k-topic-1kb-4p-4c-100k.yaml b/workloads/10k-topic-1kb-4p-4c-100k.yaml new file mode 100644 index 000000000..365790b42 --- /dev/null +++ b/workloads/10k-topic-1kb-4p-4c-100k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 100k rate 4 producers and 4 consumers on 10k topic + +topics: 10000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 100000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/10k-topic-1kb-4p-4c-2000k.yaml b/workloads/10k-topic-1kb-4p-4c-2000k.yaml new file mode 100644 index 000000000..c007225fa --- /dev/null +++ b/workloads/10k-topic-1kb-4p-4c-2000k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 2000k rate 4 producers and 4 consumers on 10k topic + +topics: 10000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 2000000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/10k-topic-1kb-4p-4c-500k.yaml b/workloads/10k-topic-1kb-4p-4c-500k.yaml new file mode 100644 index 000000000..b48f9e7e6 --- /dev/null +++ b/workloads/10k-topic-1kb-4p-4c-500k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 500k rate 4 producers and 4 consumers on 10k topic + +topics: 10000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 500000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/1k-topic-1kb-4p-4c-100k.yaml b/workloads/1k-topic-1kb-4p-4c-100k.yaml new file mode 100644 index 000000000..ccf38b9f0 --- /dev/null +++ b/workloads/1k-topic-1kb-4p-4c-100k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 100k rate 4 producers and 4 consumers on 1k topic + +topics: 1000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 100000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/1k-topic-1kb-4p-4c-2000k.yaml b/workloads/1k-topic-1kb-4p-4c-2000k.yaml new file mode 100644 index 000000000..b060d1295 --- /dev/null +++ b/workloads/1k-topic-1kb-4p-4c-2000k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 2000k rate 4 producers and 4 consumers on 1k topic + +topics: 1000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 2000000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/1k-topic-1kb-4p-4c-500k.yaml b/workloads/1k-topic-1kb-4p-4c-500k.yaml new file mode 100644 index 000000000..1f389de50 --- /dev/null +++ b/workloads/1k-topic-1kb-4p-4c-500k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 500k rate 4 producers and 4 consumers on 1k topic + +topics: 1000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 500000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/1m-topic-1kb-4p-4c-2000k.yaml b/workloads/1m-topic-1kb-4p-4c-2000k.yaml new file mode 100644 index 000000000..051ae6e01 --- /dev/null +++ b/workloads/1m-topic-1kb-4p-4c-2000k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 2000k rate 4 producers and 4 consumers on 1m topic + +topics: 1000000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 2000000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/1m-topic-1kb-4p-4c-500k.yaml b/workloads/1m-topic-1kb-4p-4c-500k.yaml new file mode 100644 index 000000000..f1a107564 --- /dev/null +++ b/workloads/1m-topic-1kb-4p-4c-500k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 500k rate 4 producers and 4 consumers on 1m topic + +topics: 1000000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 500000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/200k-topic-1kb-4p-4c-100k.yaml b/workloads/200k-topic-1kb-4p-4c-100k.yaml new file mode 100644 index 000000000..7fd75dc8d --- /dev/null +++ b/workloads/200k-topic-1kb-4p-4c-100k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 100k rate 4 producers and 4 consumers on 200k topic + +topics: 200000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 100000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/200k-topic-1kb-4p-4c-2000k.yaml b/workloads/200k-topic-1kb-4p-4c-2000k.yaml new file mode 100644 index 000000000..7d737bce2 --- /dev/null +++ b/workloads/200k-topic-1kb-4p-4c-2000k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 2000k rate 4 producers and 4 consumers on 200k topic + +topics: 200000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 2000000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/200k-topic-1kb-4p-4c-500k.yaml b/workloads/200k-topic-1kb-4p-4c-500k.yaml new file mode 100644 index 000000000..83ca06336 --- /dev/null +++ b/workloads/200k-topic-1kb-4p-4c-500k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 500k rate 4 producers and 4 consumers on 200k topic + +topics: 200000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 500000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/300k-topic-1kb-4p-4c-2000k.yaml b/workloads/300k-topic-1kb-4p-4c-2000k.yaml new file mode 100644 index 000000000..cfcfb12fc --- /dev/null +++ b/workloads/300k-topic-1kb-4p-4c-2000k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 2000k rate 4 producers and 4 consumers on 300k topic + +topics: 300000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 2000000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/300k-topic-1kb-4p-4c-500k.yaml b/workloads/300k-topic-1kb-4p-4c-500k.yaml new file mode 100644 index 000000000..86482683f --- /dev/null +++ b/workloads/300k-topic-1kb-4p-4c-500k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 500k rate 4 producers and 4 consumers on 300k topic + +topics: 300000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 500000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/400k-topic-1kb-4p-4c-2000k.yaml b/workloads/400k-topic-1kb-4p-4c-2000k.yaml new file mode 100644 index 000000000..c7286c416 --- /dev/null +++ b/workloads/400k-topic-1kb-4p-4c-2000k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 2000k rate 4 producers and 4 consumers on 400k topic + +topics: 400000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 2000000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/400k-topic-1kb-4p-4c-500k.yaml b/workloads/400k-topic-1kb-4p-4c-500k.yaml new file mode 100644 index 000000000..acea013b2 --- /dev/null +++ b/workloads/400k-topic-1kb-4p-4c-500k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 500k rate 4 producers and 4 consumers on 400k topic + +topics: 400000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 500000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/500-topic-1kb-4p-4c-2000k.yaml b/workloads/500-topic-1kb-4p-4c-2000k.yaml new file mode 100644 index 000000000..c8bb3795f --- /dev/null +++ b/workloads/500-topic-1kb-4p-4c-2000k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 2000k rate 4 producers and 4 consumers on 500 topic + +topics: 500 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 2000000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/500-topic-1kb-4p-4c-500k.yaml b/workloads/500-topic-1kb-4p-4c-500k.yaml new file mode 100644 index 000000000..0dc59c443 --- /dev/null +++ b/workloads/500-topic-1kb-4p-4c-500k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 500k rate 4 producers and 4 consumers on 500 topic + +topics: 500 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 500000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/500k-topic-1kb-4p-4c-2000k.yaml b/workloads/500k-topic-1kb-4p-4c-2000k.yaml new file mode 100644 index 000000000..42030106f --- /dev/null +++ b/workloads/500k-topic-1kb-4p-4c-2000k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 2000k rate 4 producers and 4 consumers on 500k topic + +topics: 500000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 2000000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/500k-topic-1kb-4p-4c-500k.yaml b/workloads/500k-topic-1kb-4p-4c-500k.yaml new file mode 100644 index 000000000..addfcc98d --- /dev/null +++ b/workloads/500k-topic-1kb-4p-4c-500k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 500k rate 4 producers and 4 consumers on 500k topic + +topics: 500000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 500000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/50k-topic-1kb-4p-4c-100k.yaml b/workloads/50k-topic-1kb-4p-4c-100k.yaml new file mode 100644 index 000000000..e38e77acb --- /dev/null +++ b/workloads/50k-topic-1kb-4p-4c-100k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 100k rate 4 producers and 4 consumers on 50k topic + +topics: 50000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 100000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/50k-topic-1kb-4p-4c-2000k.yaml b/workloads/50k-topic-1kb-4p-4c-2000k.yaml new file mode 100644 index 000000000..5c066e3a3 --- /dev/null +++ b/workloads/50k-topic-1kb-4p-4c-2000k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 2000k rate 4 producers and 4 consumers on 50k topic + +topics: 50000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 2000000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/50k-topic-1kb-4p-4c-500k.yaml b/workloads/50k-topic-1kb-4p-4c-500k.yaml new file mode 100644 index 000000000..2345d64ee --- /dev/null +++ b/workloads/50k-topic-1kb-4p-4c-500k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 500k rate 4 producers and 4 consumers on 50k topic + +topics: 50000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 500000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/5k-topic-1kb-4p-4c-100k.yaml b/workloads/5k-topic-1kb-4p-4c-100k.yaml new file mode 100644 index 000000000..b092ccedc --- /dev/null +++ b/workloads/5k-topic-1kb-4p-4c-100k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 100k rate 4 producers and 4 consumers on 5k topic + +topics: 5000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 100000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/5k-topic-1kb-4p-4c-2000k.yaml b/workloads/5k-topic-1kb-4p-4c-2000k.yaml new file mode 100644 index 000000000..7c1672926 --- /dev/null +++ b/workloads/5k-topic-1kb-4p-4c-2000k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 2000k rate 4 producers and 4 consumers on 5k topic + +topics: 5000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 2000000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/5k-topic-1kb-4p-4c-500k.yaml b/workloads/5k-topic-1kb-4p-4c-500k.yaml new file mode 100644 index 000000000..30e1c80d3 --- /dev/null +++ b/workloads/5k-topic-1kb-4p-4c-500k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 500k rate 4 producers and 4 consumers on 5k topic + +topics: 5000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 500000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/600k-topic-1kb-4p-4c-2000k.yaml b/workloads/600k-topic-1kb-4p-4c-2000k.yaml new file mode 100644 index 000000000..495d39936 --- /dev/null +++ b/workloads/600k-topic-1kb-4p-4c-2000k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 2000k rate 4 producers and 4 consumers on 600k topic + +topics: 600000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 2000000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/600k-topic-1kb-4p-4c-600k.yaml b/workloads/600k-topic-1kb-4p-4c-600k.yaml new file mode 100644 index 000000000..9e7231d3a --- /dev/null +++ b/workloads/600k-topic-1kb-4p-4c-600k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 500k rate 4 producers and 4 consumers on 600k topic + +topics: 600000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 500000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/700k-topic-1kb-4p-4c-2000k.yaml b/workloads/700k-topic-1kb-4p-4c-2000k.yaml new file mode 100644 index 000000000..e404145f4 --- /dev/null +++ b/workloads/700k-topic-1kb-4p-4c-2000k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 2000k rate 4 producers and 4 consumers on 700k topic + +topics: 700000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 2000000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/700k-topic-1kb-4p-4c-500k.yaml b/workloads/700k-topic-1kb-4p-4c-500k.yaml new file mode 100644 index 000000000..d3a44cef9 --- /dev/null +++ b/workloads/700k-topic-1kb-4p-4c-500k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 500k rate 4 producers and 4 consumers on 700k topic + +topics: 700000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 500000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/800k-topic-1kb-4p-4c-2000k.yaml b/workloads/800k-topic-1kb-4p-4c-2000k.yaml new file mode 100644 index 000000000..a98dcbec0 --- /dev/null +++ b/workloads/800k-topic-1kb-4p-4c-2000k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 2000k rate 4 producers and 4 consumers on 800k topic + +topics: 800000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 2000000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/800k-topic-1kb-4p-4c-500k.yaml b/workloads/800k-topic-1kb-4p-4c-500k.yaml new file mode 100644 index 000000000..dfae1b720 --- /dev/null +++ b/workloads/800k-topic-1kb-4p-4c-500k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 500k rate 4 producers and 4 consumers on 800k topic + +topics: 800000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 500000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/900k-topic-1kb-4p-4c-2000k.yaml b/workloads/900k-topic-1kb-4p-4c-2000k.yaml new file mode 100644 index 000000000..c5674a385 --- /dev/null +++ b/workloads/900k-topic-1kb-4p-4c-2000k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 2000k rate 4 producers and 4 consumers on 900k topic + +topics: 900000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 2000000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file diff --git a/workloads/900k-topic-1kb-4p-4c-500k.yaml b/workloads/900k-topic-1kb-4p-4c-500k.yaml new file mode 100644 index 000000000..4c5ec487e --- /dev/null +++ b/workloads/900k-topic-1kb-4p-4c-500k.yaml @@ -0,0 +1,33 @@ +# +# Licensed 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. +# + +name: 500k rate 4 producers and 4 consumers on 900k topic + +topics: 900000 +partitionsPerTopic: 1 + +messageSize: 1024 +useRandomizedPayloads: true +randomBytesRatio: 0.5 +randomizedPayloadPoolSize: 1000 + +subscriptionsPerTopic: 1 +consumerPerSubscription: 4 +producersPerTopic: 4 + +# Discover max-sustainable rate +producerRate: 500000 + +consumerBacklogSizeGB: 0 +testDurationMinutes: 5 \ No newline at end of file