我的Apache Storm拓扑越来越慢。我想知道哪种方法消耗最多的时间并降低拓扑速度。我可以剖析Apache Storm拓扑以了解性能瓶颈在哪里,例如,使用visualvm显示消耗大量时间的方法,如下所示:
或者还有其他标准/更可取/推荐的方法吗?
是的,您可以像其他任何Java进程一样配置Storm。 This link描述您需要在JVM上设置的设置(忽略Docker部分)。您可以通过设置topology.worker.childopts
configuration setting将这些参数添加到工作JVM中。之后,您应该能够将VisualVM附加到要查看的每个工作进程中。
关于查找瓶颈的其他方法,您可以在Storm UI的capacity metric中查找螺栓。您的瓶颈很可能具有很高的容量。