[ https://issues.apache.org/jira/browse/KAFKA-736?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13565762#comment-13565762 ]
Neha Narkhede commented on KAFKA-736: ------------------------------------- Another approach is to reset the interest ops to not select READ or WRITE after a request is completely read. This is a smaller change to the socket server, but will have an impact on performance. Once an io thread has finished processing a request from a key, they will not have the next pipelined request available in the request queue. My guess is that the producer throughput will see larger dips in the throughput, which happens when the socket buffer fills up and the producer has to wait for the server to dequeue more requests from the socket. > Add an option to the 0.8 producer to mimic 0.7 producer behavior > ---------------------------------------------------------------- > > Key: KAFKA-736 > URL: https://issues.apache.org/jira/browse/KAFKA-736 > Project: Kafka > Issue Type: Improvement > Components: producer > Affects Versions: 0.8 > Reporter: Neha Narkhede > Assignee: Neha Narkhede > Priority: Blocker > Labels: p2, replication-performance > Attachments: kafka-736-draft.patch > > Original Estimate: 24h > Remaining Estimate: 24h > > I profiled a producer throughput benchmark between a producer and a remote > broker. It turns out that the background send threads spends ~97% of its time > waiting to read the acknowledgement from the broker. > I propose we change the current behavior of request.required.acks=0 to mean > no acknowledgement from the broker. This will mimic the 0.7 producer behavior > and will enable tuning the producer for very high throughput. -- This message is automatically generated by JIRA. If you think it was sent incorrectly, please contact your JIRA administrators For more information on JIRA, see: http://www.atlassian.com/software/jira