title: Storm topology performance hit when acking
body: <p>I'm using this tool from yahoo to run some performance tests on my storm cluster -
  <a href="https://github.com/yahoo/storm-perf-test" rel="nofollow">https://github.com/yahoo/storm-perf-test</a></p>
  
  <p>I notice that there's almost a 10x performance hit I get when I turn acking on. Here's some details to reproduce the test -
  Cluster -
  3 supervisor nodes and 1 nimbus node. Each node is a c3.large.</p>
  
  <p>With acking -</p>
  
  <p>bin/storm jar storm_perf_test-1.0.0-SNAPSHOT-jar-with-dependencies.jar com.yahoo.storm.perftest.Main --ack --boltParallel 60 --maxSpoutPending 100 --messageSizeByte 100 --name some-topo --numWorkers 9 --spoutParallel 20 --testTimeSec 100 --pollFreqSec 20 --numLevels 2</p>
  
  <pre><code>status  topologies  totalSlots  slotsUsed   totalExecutors  executorsWithMetrics    time    time-diff ms    transferred throughput (MB/s)
  WAITING 1   3   0   141 0   1424707134585   0   0   0.0
  WAITING 1   3   3   141 141 1424707154585   20000   24660   0.11758804321289062
  WAITING 1   3   3   141 141 1424707174585   20000   17320   0.08258819580078125
  RUNNING 1   3   3   141 141 1424707194585   20000   13880   0.06618499755859375
  RUNNING 1   3   3   141 141 1424707214585   20000   21720   0.10356903076171875
  RUNNING 1   3   3   141 141 1424707234585   20000   43220   0.20608901977539062
  RUNNING 1   3   3   141 141 1424707254585   20000   35520   0.16937255859375
  RUNNING 1   3   3   141 141 1424707274585   20000   33820   0.16126632690429688
  </code></pre>
  
  <p>Without acking -</p>
  
  <p>bin/storm jar ~/target/storm_perf_test-1.0.0-SNAPSHOT-jar-with-dependencies.jar com.yahoo.storm.perftest.Main --boltParallel 60 --maxSpoutPending 100 --messageSizeByte 100 --name some-topo --numWorkers 9 --spoutParallel 20 --testTimeSec 100 --pollFreqSec 20 --numLevels 2</p>
  
  <pre><code>status  topologies  totalSlots  slotsUsed   totalExecutors  executorsWithMetrics    time    time-diff ms    transferred throughput (MB/s)
  WAITING 1   3   0   140 0   1424707374386   0   0   0.0
  WAITING 1   3   3   140 140 1424707394386   20000   565460  2.6963233947753906
  WAITING 1   3   3   140 140 1424707414386   20000   1530680 7.298851013183594
  RUNNING 1   3   3   140 140 1424707434386   20000   3280760 15.643882751464844
  RUNNING 1   3   3   140 140 1424707454386   20000   3308000 15.773773193359375
  RUNNING 1   3   3   140 140 1424707474386   20000   4367260 20.824718475341797
  RUNNING 1   3   3   140 140 1424707494386   20000   4489000 21.40522003173828
  RUNNING 1   3   3   140 140 1424707514386   20000   5058960 24.123001098632812
  </code></pre>
  
  <p>The last 2 columns are the ones that are really important. It shows the number of tuples transferred and the rate in MBps.</p>
  
  <p>Is this kind of performance hit expected with storm when we turn on acking? I'm using version 0.9.3 and no advanced networking.</p>