Github user harshach commented on the issue:
https://github.com/apache/storm/pull/2241
@revans2 @HeartSaVioR
Here are my findings
https://docs.google.com/spreadsheets/d/1wPpC3YXp-vTIelRTUVoLxuxIYxUekiIHUpZ2ZEysC4Y/edit#gid=1644511...
1. Looking at ThroughputvsLatency I found some issues:
- By default it adds 51 total threads , that IMO is incorrect when
benchmarking in a 4-core machine.
- Also it adds two bolts for logging/measurements which might be impacting
the numbers
https://github.com/apache/storm/blob/master/examples/storm-starter/src/jvm/org/apache/storm/starter/...
https://github.com/apache/storm/blob/master/examples/storm-starter/src/jvm/org/apache/storm/starter/...
- It also throttles the spout
https://github.com/apache/storm/blob/master/examples/storm-starter/src/jvm/org/apache/storm/starter/...
I did the following changes:
- Disable the HTTP and Logging bolts
- Disable throttling spout, we want spout to run as fast as it can
- reduced the executor counts
If you see lines from 78 - 102.
Apache Master clearly couldn't handle the faster spout and starts timing
out. Perf degrades considerably and very quickly. Where as STORM-2306 not only
was able to handle the faster spout and delivered stable and processing at more
start out being 10x faster then improves to 35x faster compared to master.
2. Also ran storm-perf topologies ConstSpoutIdNullBoltIdTopo and
ConstSpoutNullBoltTopo. These topologies are trying to see whats the message
throughput and latency when there are only 2 components involved without
including any external dependencies. Essentially testing the messaging system.
From line 3-45 you can see with this patch we are getting under 10ms
(depends on the topology) compare to an avg of 250ms+. (with batchSize=1)
3. Also ran storm-examples ThroughputVsLatency with 2 workers. Here there
is clearly a bug which is prevent inter-worker communication so don't have
comparative numbers.
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---