[ https://issues.apache.org/jira/browse/STORM-636?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=14287803#comment-14287803 ]
ASF GitHub Bot commented on STORM-636: -------------------------------------- Github user d2r commented on the pull request: https://github.com/apache/storm/pull/392#issuecomment-71059798 For testing this I did the following: I modified the ExclamationTopology as follows: - bolts report a new RuntimeException via reportError on each call to execute - changed topology.max.error.report.per.interval: 100 (default 10), so each executor/thread will write up to 100 errors to ZK every 10 seconds. This is a quick-and-dirty way of increasing write load on ZK for testing. - Replicated the Exclamation bolt an additional ~450 times, so there are many more bolts in the topology. Procedure: - Launch the topology in Inactive state, wait for it to get assigned and stable - go to the topology page and activate the topology (at this point the load time is on the order of seconds) - Refresh the topology until I see fresh errors reported for each bolt - Wait a a minute - Refresh the page and record load times from the Firefox network inspector. - Repeat 4 more times Results: Before patch (median about a minute): - 57s - 1m13s - 55s - 51s - 1m34s With patch (median about 10s) - 12s - 6s - 8s - 13s - 10s > UI/Monitor is slow for topologies with a large number of components > ------------------------------------------------------------------- > > Key: STORM-636 > URL: https://issues.apache.org/jira/browse/STORM-636 > Project: Apache Storm > Issue Type: Bug > Affects Versions: 0.10.0 > Reporter: Derek Dagit > Assignee: Derek Dagit > Priority: Minor > > The getTopologyInfo method in nimbus fetches from ZK all errors reported by > all components. This becomes too slow for topologies with a larger numbers > of components (bolts/spouts). > In one example, the UI consistently took over 5 minutes to load the topology > page for a topology with nearly 500 components while ZK was under load. > Errors are currently stored in ZooKeeper under individual znodes per > component. This means that each call to getTopologyInfo needs to list > children of each znode and then download the error znodes it finds. -- This message was sent by Atlassian JIRA (v6.3.4#6332)