Profiling your topology's performance

Performance can be a concern for any application. This is true for Storm topologies as well, perhaps more so.

When you're trying to push a lot of data through a topology, raw performance is certainly a concern—faster components means that more data can be processed. But it's also important to understand the tuple processing performance of individual components. This information can be used in two ways.

The first is knowing which components are slower, because this tells you where to focus your attention if you are trying to make the code faster. Once you know which component (or components) is slow, you can use tools such as the Python cProfile module (http://pymotw.com/2/profile/) and the line profiler (https://github.com/rkern/line_profiler ...

Get Building Python Real-Time Applications with Storm now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.