hachikuji commented on pull request #9401:
URL: https://github.com/apache/kafka/pull/9401#issuecomment-728486374


   Yeah, there is something strange going on, especially in regard to latency. 
Running the same producer performance test, I saw the following:
   ```
   Patch:
   250000000 records sent, 1347222.297068 records/sec (328.91 MB/sec), 91.98 ms 
avg latency, 1490.00 ms max latency, 71 ms 50th, 242 ms 95th, 320 ms 99th, 728 
ms 99.9th.                                             
   
   Trunk:
   250000000 records sent, 1426264.954388 records/sec (348.21 MB/sec), 15.11 ms 
avg latency, 348.00 ms max latency, 3 ms 50th, 94 ms 95th, 179 ms 99th, 265 ms 
99.9th.
   ```
   I was able to reproduce similar results several times. Take this with a 
grain of salt, but from the flame graphs, I see the following differences:
   
   `RequestContext.parseRequest`: 1% -> 0.45%
   `RequestUtils.hasTransactionalRecords`: 0% -> 0.59%
   `RequestUtils.hasIdempotentRecords`: 0% -> 0.14%
   `KafkaApis.sendResponseCallback`: 3.20% -> 2.33%
   `KafkaApis.clearPartitionRecords`: 0% -> 0.16%
   
   I think `hasTransactionalRecords` and `hasIdempotentRecords` are the most 
obvious optimization targets (they also show up in allocations), but I do not 
think they explain the increase in latency. Just to be sure, I commented out 
these lines and I got similar results.


----------------------------------------------------------------
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.

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org


Reply via email to