Release Notes
Broker Release Notes
Announcement

# Installing Java 17 and Maven is required.mvn clean package
tar -zxvf openmessaging-benchmark.tar.gz
name: KafkadriverClass: io.openmessaging.benchmark.driver.kafka.KafkaBenchmarkDriverreplicationFactor: 2reset: falseuseMyTopic: truetopics: topic_1,topic_2,topic_3,topic_4,topic_5,topic_6,topic_7,topic_8,topic_9,topic_10 #Match the names of the 10 topics actually created.useSharedConsumerGroup: falsetopicConfig: |min.insync.replicas=2commonConfig: |bootstrap.servers= #Access point route.producerConfig: |acks=1compression.type=none #Compression algorithms can be configured as None, GZIP, Snappy, and LZ4, respectively.linger.ms=30000batch.size=32768receive.buffer.bytes = 32768max.request.size=1048576max.in.flight.requests.per.connection=5request.timeout.ms=30000consumerConfig: |auto.offset.reset=latestenable.auto.commit=truereceive.buffer.bytes = 32768max.partition.fetch.bytes = 1048576fetch.max.wait.ms=500max.poll.interval.ms=300000
name: perftesttopics: 10partitionsPerTopic: 100 #Total number of partitions of the instance/(10 x 2).messageSize: 1024 #When compression algorithms are disabled, set this to 1024. To enable compression algorithms, see 3.4 Compression Ratio Configuration.payloadFile: "date.file"subscriptionsPerTopic: 1consumerPerSubscription: 120producersPerTopic: 100 #Set it to 10 when the instance specification is 20 MB. Set it to 100 for other cases.useRandomizedPayloads: truerandomBytesRatio: 0.1producerRate: 307200 #Note: producerRate = (Instance bandwidth/2) x 1024.consumerBacklogSizeGB: 0testDurationMinutes: 30randomizedPayloadPoolSize: 100keyDistributor: RANDOM_NANO
cd openmessaging-benchmark-0.0.1-SNAPSHOT && sh bin/benchmark-worker --port 9090 --stats-port 9091
cd openmessaging-benchmark-0.0.1-SNAPSHOT && bin/benchmark --drivers driver.yaml --workers http://slave_ip1:9090,http://slave_ip2:9090 testcase.yaml
Parameter | Load Testing Value | Default Value |
Total Number of Topics | 10 | |
Number of Topic Replicas | 2 | |
Number of Producers per Topic | 100 | |
Number of Consumer Groups per Topic | 1 | |
Number of Consumers per Consumer Group | 5 | |
Average Message Size | 1KB | |
linger.ms | 30000 | 0 |
batch.size | 32768 | 16384 |
receive.buffer.bytes | 32768 | 32 * 1024 |
acks | 1 | 1 |
compression.type | none | none |
max.in.flight.requests.per.connection | 5 | 5 |
max.request.size | 1048576 | 1M |
request.timeout.ms | 30 | 30s |
Parameter | Load Testing Value | Default Value |
Number of Consumer Groups per Topic | 1 | |
Number of Consumers per Consumer Group | 120 (consistent with the number of partitions) | |
receive.buffer.bytes | 32768 | 32 * 1024 |
max.partition.fetch.bytes | 1048576 | 1M |
fetch.max.wait.ms | 500ms | 500ms |
max.poll.interval.ms | 300000 | 5 minutes |



Load Testing Specifications | Compression Configuration | Actual Production Bandwidth (MB/s) | Actual Consumption Bandwidth (MB/s) | Production Latency - Average (ms) | Production Latency - P95 (ms) | Production Latency - P99 (ms) | Consumption Latency - Average (ms) | Consumption Latency - P95 (ms) | Consumption Latency - P99 (ms) | Production QPS | Consumption QPS | Cluster Load Metric |
Instance bandwidth limit: 20 MB/s | Compression disabled | 10M | 10M | 2520 | 5045 | 5791 | 5 | 9 | 16 | 400 | 600 | 10% |
| GZIP enabled | 10M | 10M | 1294 | 2693 | 3213 | 5 | 9 | 16 | 800 | 920 | 20% |
| Snappy enabled | 10M | 10M | 1611 | 3303 | 3903 | 4 | 8 | 14 | 640 | 800 | 13% |
| LZ4 enabled | 10M | 10M | 1292 | 2691 | 3210 | 4 | 7 | 14 | 800 | 920 | 18% |
Instance bandwidth limit: 600 MB/s | Compression disabled | 300M | 300M | 4068 | 7968 | 8913 | 17 | 36 | 71 | 14920 | 14480 | 40% |
| GZIP enabled | 300M | 300M | 1919 | 3864 | 4475 | 26 | 69 | 138 | 32520 | 27600 | 93% |
| Snappy enabled | 300M | 300M | 2455 | 4910 | 5627 | 12 | 26 | 48 | 25000 | 23600 | 60% |
| LZ4 enabled | 300M | 300M | 1894 | 3837 | 4456 | 13 | 30 | 57 | 32760 | 30400 | 70% |
Instance bandwidth limit: 1600 MB/s | Compression disabled | 800M | 800M | 2268 | 4587 | 5221 | 43 | 152 | 340 | 48800 | 30000 | 50% |
| GZIP enabled | 800M | 800M | 1335 | 2679 | 3124 | 260 | 903 | 3295 | 94800 | 44000 | 100% |
| Snappy enabled | 800M | 800M | 2810 | 5580 | 6331 | 62 | 274 | 565 | 72800 | 52000 | 62% |
| LZ4 enabled | 800M | 800M | 1096 | 2215 | 2568 | 135 | 320 | 684 | 94400 | 59000 | 72% |
Load Testing Specifications | Compression Configuration | Actual Production Bandwidth (MB/s) | Actual Consumption Bandwidth (MB/s) | Production Latency - Average (ms) | Production Latency - P95 (ms) | Production Latency - P99 (ms) | Server: Consumption Latency - P95 (ms) | Server: Consumption Latency - P999 (ms) | Production QPS | Consumption QPS | Cluster Load Metric |
Instance bandwidth limit: 20 MB/s | Compression disabled | 10M | 20M | 2520 | 5046 | 5794 | 50 | 500 | 400 | 260 | 10% |
| GZIP enabled | 10M | 20M | 1294 | 2694 | 3222 | 60 | 500 | 800 | 200 | 13% |
| Snappy enabled | 10M | 20M | 1612 | 3304 | 3898 | 60 | 500 | 640 | 180 | 12% |
| LZ4 enabled | 10M | 20M | 1290 | 2682 | 3207 | 60 | 500 | 800 | 180 | 12% |
Instance bandwidth limit: 600 MB/s | Compression disabled | 300M | 600M | 4072 | 7972 | 8919 | 180 | 280 | 14960 | 4960 | 40% |
| GZIP enabled | 300M | 600M | 1919 | 3866 | 4481 | 160 | 300 | 32520 | 5040 | 80% |
| Snappy enabled | 300M | 600M | 2452 | 4897 | 5606 | 170 | 270 | 25120 | 4920 | 41% |
| LZ4 enabled | 300M | 600M | 1890 | 3827 | 4440 | 170 | 300 | 32800 | 4800 | 52% |
Instance bandwidth limit: 1600 MB/s | Compression disabled | 800M | 1600M | 2290 | 4611 | 5249 | 180 | 450 | 48800 | 12000 | 45% |
| GZIP enabled | 800M | 1600M | 1364 | 2716 | 3175 | 180 | 670 | 94800 | 12000 | 90% |
| Snappy enabled | 800M | 1600M | 2823 | 5588 | 6342 | 170 | 460 | 73200 | 12000 | 50% |
| LZ4 enabled | 800M | 1600M | 1118 | 2240 | 2596 | 170 | 530 | 94800 | 12000 | 43% |
Was this page helpful?
You can also Contact sales or Submit a Ticket for help.
Help us improve! Rate your documentation experience in 5 mins.
Feedback