[
https://issues.apache.org/jira/browse/STORM-1731?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15257892#comment-15257892
]
ASF GitHub Bot commented on STORM-1731:
---------------------------------------
GitHub user HeartSaVioR opened a pull request:
https://github.com/apache/storm/pull/1362
STORM-1731 Avoid looking up debug / backpressure enable flags within
critical path
This pull request is on top of STORM-1729 (#1361) to avoid merge conflicts.
Even though we set topology.debug to false, we actually hit performance
decrement at lookup flag.
I'm curious why we didn't know about this... :(
Let me summary the performance improvements with BasicTopology:
|| Patch || emitted/sec (around) ||
| STORM 1.0.1-SNAPSHOT | 860,000 |
| STORM-1729 | 940,000~960,000 |
| STORM-1731 (including STORM-1729) | 1,500,000 ~ 1,600,000 |
Nearly 2x improvement observed from the start.
I measured the number with my dev. machine so numbers could be a bit
unstable.
I really appreciated if someone takes a benchmark with stable environment
and stable way and posts the number.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/HeartSaVioR/storm STORM-1731-1.x
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/storm/pull/1362.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #1362
----
commit ae78815e6ad27e2301d80c258f4ad535fa1193ff
Author: Jungtaek Lim <[email protected]>
Date: 2016-04-26T03:53:38Z
STORM-1729 Get rid of reflections while recording stats
* define MultiCount/LatencyStatAndMetric in let statement and set type hint
to there
commit 7a15ebc57300a027f10a65046c85e9d1d0bef4dc
Author: Jungtaek Lim <[email protected]>
Date: 2016-04-26T10:29:44Z
STORM-1731 Avoid looking up debug / backpressure enable flags within
critical path
* preload the value of flags and use that value
* topology.debug
* topology.backpressure.enable
* also remove unnecessary lookup: receive-queue
----
> Avoid looking up debug / backpressure enable flags within critical path
> -----------------------------------------------------------------------
>
> Key: STORM-1731
> URL: https://issues.apache.org/jira/browse/STORM-1731
> Project: Apache Storm
> Issue Type: Bug
> Components: storm-core
> Affects Versions: 1.0.0
> Reporter: Jungtaek Lim
> Assignee: Jungtaek Lim
> Priority: Critical
>
> While profiling the result of STORM-1729, I also found that there're many
> places in critical path which look up the value of flags which are not
> updated dynamically.
> ("get from map" is on top 5 from each spout / bolt thread.)
> This should be fixed.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)