From: Kai Moritz <kai@juplo.de>
Date: Wed, 14 Jun 2023 18:59:02 +0000 (+0200)
Subject: Übertragung der Experimente mit kafka-producer-perftest aus Übung `batching`
X-Git-Tag: producer/batch-size--vorlage--2025-01-signal
X-Git-Url: https://juplo.de/gitweb/?a=commitdiff_plain;h=refs%2Fheads%2Fproducer%2Fbatch-size--vorlage;p=demos%2Fkafka%2Ftraining

Übertragung der Experimente mit kafka-producer-perftest aus Übung `batching`
---

diff --git a/README.sh b/README.sh
index da741d4c..d5fb57a8 100755
--- a/README.sh
+++ b/README.sh
@@ -13,20 +13,27 @@ docker compose -f docker/docker-compose.yml up -t0 -d cli
 sleep 1
 docker compose -f docker/docker-compose.yml logs setup
 
+# --throughput -1 : Kein Throttling zur "künstlichen Kappung" des maximalen Durchsatzes
+# --record-size   : Größe der einzelnen Nachricht in Bytes
+# batch.size      : Größe der Batches in Bytes
+# --num-records   : Variierende passend ausprobierte Werte, damit für die unterschiedlichen
+#                   Batch-Size ungefähr gleich viele Zwischen-Schätzungen auflaufen
+
+docker compose -f docker/docker-compose.yml exec -T cli bash << EOF
+echo "------------------- batch.size = 0 bytes"
+kafka-producer-perf-test --topic test --record-size 1024 --num-records  100000 --throughput -1 --producer-props bootstrap.servers=kafka:9092 batch.size=0
 echo
-echo "Hilfe-Ausgabe von kafkacat"
+echo "------------------- batch.size = 8192 bytes"
+kafka-producer-perf-test --topic test --record-size 1024 --num-records 1000000 --throughput -1 --producer-props bootstrap.servers=kafka:9092 batch.size=8192
 echo
-docker compose -f docker/docker-compose.yml exec -T cli kafkacat -h
+echo "------------------- batch.size = 16384 bytes"
+kafka-producer-perf-test --topic test --record-size 1024 --num-records 1000000 --throughput -1 --producer-props bootstrap.servers=kafka:9092 batch.size=16384
 echo
-echo "Nachrichten schreiben mit kafkacat"
+echo "------------------- batch.size = 32768 bytes"
+kafka-producer-perf-test --topic test --record-size 1024 --num-records 1000000 --throughput -1 --producer-props bootstrap.servers=kafka:9092 batch.size=32768
 echo
-docker compose -f docker/docker-compose.yml exec -T cli kafkacat -P -b kafka:9092 -t test << EOF
-Hallo Welt!
-Nachricht #1
-Nachricht #2
-Nachricht #3
+echo "------------------- batch.size = 524288 bytes (0.5 MB)"
+kafka-producer-perf-test --topic test --record-size 1024 --num-records 5000000 --throughput -1 --producer-props bootstrap.servers=kafka:9092 batch.size=524288
 EOF
-echo
-echo "Nachrichten lesen mit kafkacat"
-echo
-docker compose -f docker/docker-compose.yml exec cli kafkacat -C -b kafka:9092 -t test -o beginning -e
+
+# Default-Batchgröße: 16384 bytes = 16 kibibytes = ca. 16 kilobytes