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.

Reply via email to