Hello, I try to understand a performance problem using Transactions:
Here my setup (for whatever reason, we need to create a transaction "per message") (kafka v2.3/java): ------------------- consumer.poll().forEach( record -> { producer.beginTransaction(); producer.send(...); ... producer.sendOffsetsToTransaction(...); producer.commitTransaction(); } ------------------- This setup is _really_ slow (difficult to do better than 20msg/s per partitions). The brokers seem's not the bottlenek (cpu/io/network thread idle ... everything looks fine enough). Could someone give me hints: 1) To some magic options to get better performances, client side or broker side if needed ("batching" is not possible right now ... I am aware that it would be though THE solution) 2) To try to understand where the performance is lost ? From my understanding, it may be the lot of network round trip to achieve the Tx/send/commit/Tx ... but I would like to really understand what's going on. Thanks by advance for any answer ! Christophe Post-scriptum La Poste Ce message est confidentiel. Sous reserve de tout accord conclu par ecrit entre vous et La Poste, son contenu ne represente en aucun cas un engagement de la part de La Poste. Toute publication, utilisation ou diffusion, meme partielle, doit etre autorisee prealablement. Si vous n'etes pas destinataire de ce message, merci d'en avertir immediatement l'expediteur.