Hi,
I have a topology like the below -
A (Spout) ->(Emits a number say 1000) -> B (bolt) [Receives this number and
divides this into 10 emits of 100 each) -> C (bolt) [Recieves these emits
and divides this to 10 emits of 10 numbers) -> D (bolt) [Does some
computation on the number and emits one message] -> E (bolt) [Aggregates
all the data and confirms if all the 1000 messages are processed)

Every bolt takes under 3 msec to complete and as a result, I estimated that
the end to end processing for 1000 takes not more than 50 msec including
any latencies. But what I noticed is that its takes close to 200 msec and
the Emit from a spout/bolt and getting it to bolt takes close to 6 ms on a
an average. I am not able to figure out why it takes so much time to come
between a spout/bolt to next bolt. I understand that the spout/bolt buffers
the data into a queue and then the subsequent bolt consumes from there.

Any pointers on this will help.

Thanks
Kashyap

Reply via email to