Hi! I've been using the ./bin/kafka-producer-perf-test.sh script to experiment with the quota settings to try to understand them better.
With the following command, I'm producing one single-byte record per second, and forcing each produce request to only have one record: ./bin/kafka-producer-perf-test.sh --producer.config producer.kafka -- topic test --throughput 1 --record-size 1 --num-records 100 --producer- props batch.size=1 When I inspect the produce requests in Wireshark, it says that they're version 8 produce requests, and their length is 119 bytes. Now, when I run the same command with different produce quota values on the broker, I can still sometimes see a non-zero throttle time (which I guess indicates that quota the quota mechanism was activated and decided that throttling was needed), until I set the quota to 131 or greater. Is my understanding correct that it's the size of the produce request that the quota mechanism acts on? Is there anything else being accounted for? Or could the fact that I still see throttling be caused by the fact that the throughput rate is approximate? I also notice that the first produce request always seems to contain 2 records, even though the batch.size is set to 1 (even when set to 0). Could that be related? Subsequent produce requests all contain the expected single record. Thanks for any advice or insights you can provide, Gerard.