kirktrue commented on PR #20324: URL: https://github.com/apache/kafka/pull/20324#issuecomment-3172338727
# Results for August 9, 2025 testing ## Metrics The metrics shown below come from three separate test runs: 1. Test run `CLASSIC` uses the `CLASSIC` group protocol from `trunk` 2. Test run `CONSUMER` uses the `CONSUMER` group protocol, also from `trunk` 3. Test run `CONSUMER (branch)` uses the `CONSUMER` group protocol from my current development branch (`KAFKA-19589-reduce-events-in-update-fetch-positions`) Results: | Metric | CLASSIC | CONSUMER (trunk) | CONSUMER (branch) | |:--------------------------|--------------------------:|--------------------------:|--------------------------:| | bytes-consumed-rate | 162857862.759 | 48074181.128 | 77237286.006 | | bytes-consumed-total | 104199838490.000 | 104199838490.000 | 104199838490.000 | | fetch-latency-avg | 27.563 | 47.571 | 25.268 | | fetch-latency-max | 502.000 | 507.000 | 506.000 | | fetch-rate | 161.195 | 51.055 | 78.003 | | fetch-size-avg | 1023854.536 | 1023506.132 | 1023205.444 | | fetch-size-max | 1033664.000 | 1033664.000 | 1033664.000 | | fetch-throttle-time-avg | 0.000 | 0.000 | 0.000 | | fetch-throttle-time-max | 0.000 | 0.000 | 0.000 | | fetch-total | 101908.000 | 102036.000 | 101959.000 | | records-consumed-rate | 312587.069 | 92272.900 | 148248.150 | | records-consumed-total | 199999690.000 | 199999690.000 | 199999690.000 | | records-lag-max | 4484207.000 | 1806989.000 | 2578731.000 | | records-lead-min | 29035357.000 | 32266785.000 | 31534419.000 | | records-per-request-avg | 1965.172 | 1964.503 | 1963.926 | | commit-sync-time-ns-total | 0.000 | 0.000 | 0.000 | | committed-time-ns-total | 0.000 | 0.000 | 0.000 | | incoming-byte-rate | 163876206.099 | 48227380.969 | 77529673.969 | | incoming-byte-total | 104604394434.000 | 104604441109.000 | 104622899962.000 | | io-ratio | 0.244 | 0.092 | 0.146 | | io-time-ns-avg | 3865.850 | 2363.981 | 3871.983 | | io-time-ns-total | 157231567818.000 | 217749720755.000 | 195497217580.000 | | io-wait-ratio | 0.303 | 0.523 | 0.503 | | io-wait-time-ns-avg | 4784.395 | 13368.476 | 13311.075 | | io-wait-time-ns-total | 111080698186.000 | 1148273922014.000 | 655479798988.000 | | last-poll-seconds-ago | 0.000 | 0.000 | 0.000 | | network-io-rate | 2213.585 | 689.148 | 1100.397 | | network-io-total | 1385915.000 | 1426966.000 | 1522117.000 | | outgoing-byte-rate | 17912.864 | 5518.740 | 8596.430 | | outgoing-byte-total | 11354966.000 | 11442918.000 | 11387680.000 | | poll-idle-ratio-avg | NaN | NaN | NaN | | request-rate | 162.060 | 51.471 | 78.488 | | request-size-avg | 110.532 | 107.220 | 109.526 | | request-size-max | 238.000 | 203.000 | 203.000 | | request-total | 102231.000 | 102940.000 | 102512.000 | | response-rate | 162.013 | 51.441 | 78.424 | | response-total | 102226.000 | 102935.000 | 102507.000 | | select-rate | 63238.109 | 39094.742 | 37796.679 | | select-total | 40007185.000 | 87649140.000 | 50222746.000 | | time-between-poll-avg | 0.016 | 0.054 | 0.034 | | time-between-poll-max | 100.000 | 100.000 | 84.000 | | Average CPU load | 92.23% | 146.39% | 149.89% | | P99 CPU load | 93.50% | 148.00% | 151.00% | | Max CPU load | 93.50% | 148.00% | 151.00% | ## Execution The test is run on a single AWS instance targeting a six-node cluster. The data on the topic is pre-populated with 200,000,000 messages of 512 bytes each before any of the tests are run. A single “warm up” run of the performance test is executed before executing the three test runs mentioned above. The command to execute the test is: ```bash kafka-consumer-perf-test.sh \ --bootstrap-server $BOOTSTRAP_SERVER \ --topic $TOPIC_NAME \ --messages $NUM_MESSAGES \ --consumer.config conf/consumer-$GROUP_PROTOCOL.properties \ --show-detailed-stats \ --print-metrics ``` `NUM_MESSAGES` is set to `200000000` (200 million). ## Client configuration The consumer configuration sets `max.poll.records=5`, but is otherwise mostly defaults apart from connectivity/authentication: ``` bootstrap.servers=$BOOTSTRAP_SERVER sasl.jaas.config=org.apache.kafka.common.security.plain.PlainLoginModule required username="$USER_ID" password='$USER_PASSWORD' ; security.protocol=SASL_SSL sasl.mechanism=PLAIN ssl.endpoint.identification.algorithm= client.dns.lookup=use_all_dns_ips # Key max.poll.records=5 ``` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: jira-unsubscr...@kafka.apache.org For queries about this service, please contact Infrastructure at: us...@infra.apache.org