We are in the process of upgrading our Storm cluster from 0.8.2 to 0.9.1-incubating. As part of this we ran some tests to measure the performance of our existing topologies in 0.9.1. And we noticed some performance degradation with the new version of storm.
So, I tried to run a slightly modified version of the Trident word count topology from storm-starter project and ran that in both versions of Storm. Even with this topology, I see a minor performance degradation with 0.9.1. Is this expected? Or could there be some config I'm missing? Here's the topology code - https://gist.github.com/anonymous/9838091 Output from storm 0.8.2 ================= # storm_wrapper jar /var/tmp/storm-starter-0.0.1-SNAPSHOT-standalone.jar storm.starter.trident.TridentWordCount test Running: java -client -Dstorm.options= -Dstorm.home=/tools/stow/storm-0_8_2-1/storm -Djava.library.path=/usr/local/lib:/opt/local/lib:/usr/lib -Dstorm.conf.file= -cp /tools/stow/storm-0_8_2-1/storm/storm-0.8.2.jar:/tools/stow/storm-0_8_2-1/storm/lib/asm-4.0.jar:/tools/stow/storm-0_8_2-1/storm/lib/carbonite-1.5.0.jar:/tools/stow/storm-0_8_2-1/storm/lib/clj-time-0.4.1.jar:/tools/stow/storm-0_8_2-1/storm/lib/clojure-1.4.0.jar:/tools/stow/storm-0_8_2-1/storm/lib/clout-1.0.1.jar:/tools/stow/storm-0_8_2-1/storm/lib/commons-codec-1.4.jar:/tools/stow/storm-0_8_2-1/storm/lib/commons-exec-1.1.jar:/tools/stow/storm-0_8_2-1/storm/lib/commons-fileupload-1.2.1.jar:/tools/stow/storm-0_8_2-1/storm/lib/commons-io-1.4.jar:/tools/stow/storm-0_8_2-1/storm/lib/commons-lang-2.5.jar:/tools/stow/storm-0_8_2-1/storm/lib/commons-logging-1.1.1.jar:/tools/stow/storm-0_8_2-1/storm/lib/compojure-1.1.3.jar:/tools/stow/storm-0_8_2-1/storm/lib/core.incubator-0.1.0.jar:/tools/stow/storm-0_8_2-1/storm/lib/curator-client-1.0.1.jar:/tools/stow/storm-0_8_2-1/storm/lib/curator-framework-1.0.1.jar:/tools/stow/storm-0_8_2-1/storm/lib/disruptor-2.10.1.jar:/tools/stow/storm-0_8_2-1/storm/lib/guava-13.0.jar:/tools/stow/storm-0_8_2-1/storm/lib/hiccup-0.3.6.jar:/tools/stow/storm-0_8_2-1/storm/lib/httpclient-4.1.1.jar:/tools/stow/storm-0_8_2-1/storm/lib/httpcore-4.1.jar:/tools/stow/storm-0_8_2-1/storm/lib/jetty-6.1.26.jar:/tools/stow/storm-0_8_2-1/storm/lib/jetty-util-6.1.26.jar:/tools/stow/storm-0_8_2-1/storm/lib/jgrapht-0.8.3.jar:/tools/stow/storm-0_8_2-1/storm/lib/jline-0.9.94.jar:/tools/stow/storm-0_8_2-1/storm/lib/joda-time-2.0.jar:/tools/stow/storm-0_8_2-1/storm/lib/json-simple-1.1.jar:/tools/stow/storm-0_8_2-1/storm/lib/junit-3.8.1.jar:/tools/stow/storm-0_8_2-1/storm/lib/jzmq-2.1.0.jar:/tools/stow/storm-0_8_2-1/storm/lib/kryo-2.17.jar:/tools/stow/storm-0_8_2-1/storm/lib/libthrift7-0.7.0.jar:/tools/stow/storm-0_8_2-1/storm/lib/log4j-1.2.16.jar:/tools/stow/storm-0_8_2-1/storm/lib/math.numeric-tower-0.0.1.jar:/tools/stow/storm-0_8_2-1/storm/lib/minlog-1.2.jar:/tools/stow/storm-0_8_2-1/storm/lib/objenesis-1.2.jar:/tools/stow/storm-0_8_2-1/storm/lib/reflectasm-1.07-shaded.jar:/tools/stow/storm-0_8_2-1/storm/lib/ring-core-1.1.5.jar:/tools/stow/storm-0_8_2-1/storm/lib/ring-jetty-adapter-0.3.11.jar:/tools/stow/storm-0_8_2-1/storm/lib/ring-servlet-0.3.11.jar:/tools/stow/storm-0_8_2-1/storm/lib/servlet-api-2.5-20081211.jar:/tools/stow/storm-0_8_2-1/storm/lib/servlet-api-2.5.jar:/tools/stow/storm-0_8_2-1/storm/lib/slf4j-api-1.5.8.jar:/tools/stow/storm-0_8_2-1/storm/lib/slf4j-log4j12-1.5.8.jar:/tools/stow/storm-0_8_2-1/storm/lib/snakeyaml-1.9.jar:/tools/stow/storm-0_8_2-1/storm/lib/tools.cli-0.2.2.jar:/tools/stow/storm-0_8_2-1/storm/lib/tools.logging-0.2.3.jar:/tools/stow/storm-0_8_2-1/storm/lib/tools.macro-0.1.0.jar:/tools/stow/storm-0_8_2-1/storm/lib/zookeeper-3.3.3.jar:/tools/stow/storm-0_8_2-1/storm/lib/log4j-1.2.17.jar:/tools/stow/storm-0_8_2-1/storm/lib/apache-log4j-extras-1.1.jar:/var/tmp/storm-starter-0.0.1-SNAPSHOT-standalone.jar:/root/.storm:/tools/stow/storm-0_8_2-1/storm/bin -Dstorm.jar=/var/tmp/storm-starter-0.0.1-SNAPSHOT-standalone.jar storm.starter.trident.TridentWordCount test 0 [main] INFO backtype.storm.StormSubmitter - Jar not uploaded to master yet. Submitting jar... 5 [main] INFO backtype.storm.StormSubmitter - Uploading topology jar /var/tmp/storm-starter-0.0.1-SNAPSHOT-standalone.jar to assigned location: /var/tmp/nimbus/inbox/stormjar-9994f824-a52a-4b43-bfad-bcd1ccf1bb8f.jar 25 [main] INFO backtype.storm.StormSubmitter - Successfully uploaded topology jar to assigned location: /var/tmp/nimbus/inbox/stormjar-9994f824-a52a-4b43-bfad-bcd1ccf1bb8f.jar 25 [main] INFO backtype.storm.StormSubmitter - Submitting topology test in distributed mode with conf {"topology.workers":3,"topology.max.spout.pending":20,"topology.trident.batch.emit.interval.millis":0} 96 [main] INFO backtype.storm.StormSubmitter - Finished submitting topology: test 3 (Fri Mar 28 10:14:11 PDT 2014) - DRPC RESULT: 0, increase: 0 13 (Fri Mar 28 10:14:21 PDT 2014) - DRPC RESULT: 1421, increase: 1421 23 (Fri Mar 28 10:14:31 PDT 2014) - DRPC RESULT: 2896, increase: 1475 33 (Fri Mar 28 10:14:41 PDT 2014) - DRPC RESULT: 4399, increase: 1503 43 (Fri Mar 28 10:14:51 PDT 2014) - DRPC RESULT: 5755, increase: 1356 53 (Fri Mar 28 10:15:01 PDT 2014) - DRPC RESULT: 7161, increase: 1406 63 (Fri Mar 28 10:15:11 PDT 2014) - DRPC RESULT: 8635, increase: 1474 73 (Fri Mar 28 10:15:21 PDT 2014) - DRPC RESULT: 10117, increase: 1482 83 (Fri Mar 28 10:15:31 PDT 2014) - DRPC RESULT: 11628, increase: 1511 93 (Fri Mar 28 10:15:41 PDT 2014) - DRPC RESULT: 13093, increase: 1465 103 (Fri Mar 28 10:15:51 PDT 2014) - DRPC RESULT: 14496, increase: 1403 113 (Fri Mar 28 10:16:01 PDT 2014) - DRPC RESULT: 15906, increase: 1410 123 (Fri Mar 28 10:16:11 PDT 2014) - DRPC RESULT: 17335, increase: 1429 133 (Fri Mar 28 10:16:21 PDT 2014) - DRPC RESULT: 18713, increase: 1378 143 (Fri Mar 28 10:16:31 PDT 2014) - DRPC RESULT: 20153, increase: 1440 153 (Fri Mar 28 10:16:41 PDT 2014) - DRPC RESULT: 21581, increase: 1428 163 (Fri Mar 28 10:16:51 PDT 2014) - DRPC RESULT: 23086, increase: 1505 173 (Fri Mar 28 10:17:01 PDT 2014) - DRPC RESULT: 24476, increase: 1390 183 (Fri Mar 28 10:17:11 PDT 2014) - DRPC RESULT: 25901, increase: 1425 193 (Fri Mar 28 10:17:21 PDT 2014) - DRPC RESULT: 27326, increase: 1425 203 (Fri Mar 28 10:17:31 PDT 2014) - DRPC RESULT: 28738, increase: 1412 214 (Fri Mar 28 10:17:41 PDT 2014) - DRPC RESULT: 30170, increase: 1432 224 (Fri Mar 28 10:17:51 PDT 2014) - DRPC RESULT: 31728, increase: 1558 234 (Fri Mar 28 10:18:01 PDT 2014) - DRPC RESULT: 33192, increase: 1464 244 (Fri Mar 28 10:18:11 PDT 2014) - DRPC RESULT: 34631, increase: 1439 254 (Fri Mar 28 10:18:21 PDT 2014) - DRPC RESULT: 36051, increase: 1420 264 (Fri Mar 28 10:18:31 PDT 2014) - DRPC RESULT: 37476, increase: 1425 274 (Fri Mar 28 10:18:41 PDT 2014) - DRPC RESULT: 38957, increase: 1481 284 (Fri Mar 28 10:18:51 PDT 2014) - DRPC RESULT: 40479, increase: 1522 294 (Fri Mar 28 10:19:01 PDT 2014) - DRPC RESULT: 42025, increase: 1546 304 (Fri Mar 28 10:19:11 PDT 2014) - DRPC RESULT: 43414, increase: 1389 314 (Fri Mar 28 10:19:21 PDT 2014) - DRPC RESULT: 44757, increase: 1343 324 (Fri Mar 28 10:19:31 PDT 2014) - DRPC RESULT: 46173, increase: 1416 334 (Fri Mar 28 10:19:41 PDT 2014) - DRPC RESULT: 47653, increase: 1480 344 (Fri Mar 28 10:19:51 PDT 2014) - DRPC RESULT: 49150, increase: 1497 Output from storm 0.9.1 ================== # storm_wrapper jar /var/tmp/storm-starter-0.0.1-SNAPSHOT-standalone.jar storm.starter.trident.TridentWordCount test Running: java -client -Dstorm.options= -Dstorm.home=/tools/stow/storm091-20140306T1843/storm -Djava.library.path=/usr/local/lib:/opt/local/lib:/usr/lib -Dstorm.conf.file= -cp /tools/stow/storm091-20140306T1843/storm/lib/servlet-api-2.5-20081211.jar:/tools/stow/storm091-20140306T1843/storm/lib/kryo-2.17.jar:/tools/stow/storm091-20140306T1843/storm/lib/clout-1.0.1.jar:/tools/stow/storm091-20140306T1843/storm/lib/logback-classic-1.0.6.jar:/tools/stow/storm091-20140306T1843/storm/lib/slf4j-api-1.6.5.jar:/tools/stow/storm091-20140306T1843/storm/lib/guava-13.0.jar:/tools/stow/storm091-20140306T1843/storm/lib/tools.logging-0.2.3.jar:/tools/stow/storm091-20140306T1843/storm/lib/ring-core-1.1.5.jar:/tools/stow/storm091-20140306T1843/storm/lib/storm-core-0.9.1-incubating.jar:/tools/stow/storm091-20140306T1843/storm/lib/clj-stacktrace-0.2.4.jar:/tools/stow/storm091-20140306T1843/storm/lib/jetty-6.1.26.jar:/tools/stow/storm091-20140306T1843/storm/lib/junit-3.8.1.jar:/tools/stow /storm091-20140306T1843/storm/lib/hiccup-0.3.6.jar:/tools/stow/storm091-20140306T1843/storm/lib/jline-2.11.jar:/tools/stow/storm091-20140306T1843/storm/lib/curator-framework-1.0.1.jar:/tools/stow/storm091-20140306T1843/storm/lib/snakeyaml-1.11.jar:/tools/stow/storm091-20140306T1843/storm/lib/core.incubator-0.1.0.jar:/tools/stow/storm091-20140306T1843/storm/lib/netty-3.6.3.Final.jar:/tools/stow/storm091-20140306T1843/storm/lib/zookeeper-3.3.3.jar:/tools/stow/storm091-20140306T1843/storm/lib/commons-fileupload-1.2.1.jar:/tools/stow/storm091-20140306T1843/storm/lib/log4j-over-slf4j-1.6.6.jar:/tools/stow/storm091-20140306T1843/storm/lib/joda-time-2.0.jar:/tools/stow/storm091-20140306T1843/storm/lib/carbonite-1.3.2.jar:/tools/stow/storm091-20140306T1843/storm/lib/objenesis-1.2.jar:/tools/stow/storm091-20140306T1843/storm/lib/commons-codec-1.4.jar:/tools/stow/storm091-20140306T1843/storm/lib/jetty-util-6.1.26.jar:/tools/stow/storm091-20140306T1843/storm/lib/tools.macro-0.1.0.jar:/tools/stow/storm091-20140306T1843/storm/lib/ring-servlet-0.3.11.jar:/tools/stow/storm091-20140306T1843/storm/lib/clj-time-0.4.1.jar:/tools/stow/storm091-20140306T1843/storm/lib/json-simple-1.1.jar:/tools/stow/storm091-20140306T1843/storm/lib/ring-devel-0.3.11.jar:/tools/stow/storm091-20140306T1843/storm/lib/clojure-1.4.0.jar:/tools/stow/storm091-20140306T1843/storm/lib/commons-lang-2.5.jar:/tools/stow/storm091-20140306T1843/storm/lib/minlog-1.2.jar:/tools/stow/storm091-20140306T1843/storm/lib/httpclient-4.1.1.jar:/tools/stow/storm091-20140306T1843/storm/lib/commons-io-1.4.jar:/tools/stow/storm091-20140306T1843/storm/lib/jgrapht-core-0.9.0.jar:/tools/stow/storm091-20140306T1843/storm/lib/ring-jetty-adapter-0.3.11.jar:/tools/stow/storm091-20140306T1843/storm/lib/asm-4.0.jar:/tools/stow/storm091-20140306T1843/storm/lib/disruptor-2.10.1.jar:/tools/stow/storm091-20140306T1843/storm/lib/meat-locker-0.3.1.jar:/tools/stow/storm091-20140306T1843/storm/lib/curator-cl ient-1.0.1.jar:/tools/stow/storm091-20140306T1843/storm/lib/commons-exec-1.1.jar:/tools/stow/storm091-20140306T1843/storm/lib/tools.cli-0.2.2.jar:/tools/stow/storm091-20140306T1843/storm/lib/compojure-1.1.3.jar:/tools/stow/storm091-20140306T1843/storm/lib/httpcore-4.1.jar:/tools/stow/storm091-20140306T1843/storm/lib/commons-logging-1.1.1.jar:/tools/stow/storm091-20140306T1843/storm/lib/math.numeric-tower-0.0.1.jar:/tools/stow/storm091-20140306T1843/storm/lib/logback-core-1.0.6.jar:/tools/stow/storm091-20140306T1843/storm/lib/reflectasm-1.07-shaded.jar:/tools/stow/storm091-20140306T1843/storm/lib/servlet-api-2.5.jar:/var/tmp/storm-starter-0.0.1-SNAPSHOT-standalone.jar:/tools/stow/storm091-20140306T1843/storm/conf:/tools/stow/storm091-20140306T1843/storm/bin -Dstorm.jar=/var/tmp/storm-starter-0.0.1-SNAPSHOT-standalone.jar storm.starter.trident.TridentWordCount test 652 [main] INFO backtype.storm.StormSubmitter - Jar not uploaded to master yet. Submitting jar... 659 [main] INFO backtype.storm.StormSubmitter - Uploading topology jar /var/tmp/storm-starter-0.0.1-SNAPSHOT-standalone.jar to assigned location: /var/storm/nimbus/inbox/stormjar-4699b3be-980d-4f7a-82aa-d0ea967dd1cc.jar 676 [main] INFO backtype.storm.StormSubmitter - Successfully uploaded topology jar to assigned location: /var/storm/nimbus/inbox/stormjar-4699b3be-980d-4f7a-82aa-d0ea967dd1cc.jar 676 [main] INFO backtype.storm.StormSubmitter - Submitting topology test in distributed mode with conf {"topology.workers":3,"topology.max.spout.pending":20,"topology.trident.batch.emit.interval.millis":0} 747 [main] INFO backtype.storm.StormSubmitter - Finished submitting topology: test 9 (Fri Mar 28 10:14:21 PDT 2014) - DRPC RESULT: 0, increase: 0 19 (Fri Mar 28 10:14:31 PDT 2014) - DRPC RESULT: 1144, increase: 1144 29 (Fri Mar 28 10:14:41 PDT 2014) - DRPC RESULT: 2443, increase: 1299 39 (Fri Mar 28 10:14:51 PDT 2014) - DRPC RESULT: 3824, increase: 1381 49 (Fri Mar 28 10:15:01 PDT 2014) - DRPC RESULT: 5230, increase: 1406 59 (Fri Mar 28 10:15:11 PDT 2014) - DRPC RESULT: 6735, increase: 1505 69 (Fri Mar 28 10:15:21 PDT 2014) - DRPC RESULT: 8086, increase: 1351 79 (Fri Mar 28 10:15:31 PDT 2014) - DRPC RESULT: 9451, increase: 1365 l89 (Fri Mar 28 10:15:41 PDT 2014) - DRPC RESULT: 10795, increase: 1344 99 (Fri Mar 28 10:15:51 PDT 2014) - DRPC RESULT: 12223, increase: 1428 109 (Fri Mar 28 10:16:01 PDT 2014) - DRPC RESULT: 13696, increase: 1473 119 (Fri Mar 28 10:16:11 PDT 2014) - DRPC RESULT: 15191, increase: 1495 129 (Fri Mar 28 10:16:21 PDT 2014) - DRPC RESULT: 16536, increase: 1345 139 (Fri Mar 28 10:16:31 PDT 2014) - DRPC RESULT: 17866, increase: 1330 149 (Fri Mar 28 10:16:41 PDT 2014) - DRPC RESULT: 19225, increase: 1359 159 (Fri Mar 28 10:16:51 PDT 2014) - DRPC RESULT: 20621, increase: 1396 169 (Fri Mar 28 10:17:01 PDT 2014) - DRPC RESULT: 22092, increase: 1471 179 (Fri Mar 28 10:17:11 PDT 2014) - DRPC RESULT: 23535, increase: 1443 189 (Fri Mar 28 10:17:21 PDT 2014) - DRPC RESULT: 24989, increase: 1454 199 (Fri Mar 28 10:17:31 PDT 2014) - DRPC RESULT: 26314, increase: 1325 209 (Fri Mar 28 10:17:41 PDT 2014) - DRPC RESULT: 27669, increase: 1355 219 (Fri Mar 28 10:17:51 PDT 2014) - DRPC RESULT: 29086, increase: 1417 229 (Fri Mar 28 10:18:01 PDT 2014) - DRPC RESULT: 30502, increase: 1416 239 (Fri Mar 28 10:18:11 PDT 2014) - DRPC RESULT: 31933, increase: 1431 249 (Fri Mar 28 10:18:21 PDT 2014) - DRPC RESULT: 33351, increase: 1418 259 (Fri Mar 28 10:18:31 PDT 2014) - DRPC RESULT: 34757, increase: 1406 269 (Fri Mar 28 10:18:41 PDT 2014) - DRPC RESULT: 36122, increase: 1365 279 (Fri Mar 28 10:18:51 PDT 2014) - DRPC RESULT: 37538, increase: 1416 289 (Fri Mar 28 10:19:01 PDT 2014) - DRPC RESULT: 38929, increase: 1391 299 (Fri Mar 28 10:19:11 PDT 2014) - DRPC RESULT: 40338, increase: 1409 309 (Fri Mar 28 10:19:21 PDT 2014) - DRPC RESULT: 41723, increase: 1385 319 (Fri Mar 28 10:19:31 PDT 2014) - DRPC RESULT: 43157, increase: 1434 329 (Fri Mar 28 10:19:41 PDT 2014) - DRPC RESULT: 44539, increase: 1382 339 (Fri Mar 28 10:19:51 PDT 2014) - DRPC RESULT: 45907, increase: 1368 349 (Fri Mar 28 10:20:01 PDT 2014) - DRPC RESULT: 47292, increase: 1385 Both of the above use a setup with 1 nimbus host and 1 supervisor host (with 4 worker slots). storm.yaml on 0.9.1 nimbus host ========================== storm.zookeeper.root: /storm091 storm.local.dir: /var/storm storm.zookeeper.servers: - host33 - host37 - host38 drpc.queue.size: 256 drpc.request.timeout.secs: 120 nimbus.thrift.max_buffer_size: 5242880 drpc.servers: - host41 nimbus.childopts: -Xmx3072m transactional.zookeeper.root: /transactional091 logviewer.appender.name: ROLLINGFILE nimbus.thrift.max_buffer_size: 83886080 storm.yaml on 0.9.1 supervisor host ========================== drpc.servers: - host41 storm.zookeeper.root: /storm091 nimbus.host: host41 storm.local.dir: /var/storm storm.zookeeper.servers: - host33 - host37 - host38 metrics.graphite.host: utils01 worker.childopts: -Xmx3072m metrics.graphite.port: 2023 transactional.zookeeper.root: /transactional091 logviewer.appender.name: ROLLINGFILE storm.yaml on 0.8.2 nimbus ================= drpc.servers: - host31 storm.local.dir: /var storm.zookeeper.servers: - host33 - host37 - host38 drpc.queue.size: 256 nimbus.childopts: -Xmx3072m drpc.request.timeout.secs: 120 storm.yaml on 0.8.2 supervisor ================== drpc.servers: - host31 nimbus.host: vip03 storm.local.dir: /var storm.zookeeper.servers: - host33 - host37 - host38 metrics.graphite.host: utils01 worker.childopts: -Xmx3072m metrics.graphite.port: 2023
