To be able to optimize the performance of Storm, it's very important to understand what are or could be the performance bottlenecks. If we know the pitfalls, only then can we avoid them. Another noteworthy aspect of Storm, like all other Big Data frameworks, is that there is no rule of thumb for performance; every scenario is unique and so the performance optimization plan for every scenario is also unique.
So this section is more about pointers and classic dos and don'ts. What will actually work in your use case to serve as performance booster will have to be uncovered after several rounds of tweaks to the system and after observations.
Fundamentally, Storm is a high-performing, distributed processing system. The moment the work distribution comes into play, it brings with it its own Pandora's box that can be performance glitches such as the interaction between different processes on the same node, or different processes on different nodes that require channels...