I am having an issue with Apache Storm performance, mainly from the spout.
I have a topology that emits items from a kestrel queue. I fetch about 2000 items and each time nextTuple is called in the spout I emit one.
When running in a local cluster on my i7 Macbook Pro I see that I emit around 20 tuples per second, and that storm will call nextTuple once every 50ms.
I am running using 1 spout task, and 1 spout executor. I have setMaxSpoutPending set to 10.
Why is there such a large time gap between each call to nextTuple? Is the outputCollector waiting to hear back from each tuple before emiting a new one?
I am running java 8 and storm version 0.9.4