title: Apache Storm : Relation between Executors ,Execute latency and Process latency?
body: <p><strong>Topology with 1 executor assigned to Query Normalizer</strong>
  <img src="https://i.stack.imgur.com/JqzYG.png" alt="Topology with 1 executor assigned to Query Normalizer"></p>
  
  <p><strong>Topology with 4 executor assigned to Query Normalizer</strong>
  <img src="https://i.stack.imgur.com/o1wER.png" alt="Topology with 4 executor assigned to Query Normalizer"></p>
  
  <p>Initially I was running my topology with only <strong>1</strong> executor assigned to QueryNormalizer. The <strong>execute latency</strong> was <strong>8.952</strong> and <strong>process latency</strong> was <strong>12.857</strong>.</p>
  
  <p>To make it faster I changed the number of executors in QueryNormalizer to <strong>4</strong>.The <strong>execute latency</strong> changed to <strong>197.616</strong> and <strong>process latency</strong> to <strong>59.132</strong>.</p>
  
  <p>According to the definition of <strong>Execute latency</strong> – The average time a Tuple spends in the execute method. The execute method may complete without sending an Ack for the tuple.</p>
  
  <p>So, What I understand is it should be low if I increase the number of executors.As the parallelism should increase as the executor increases.</p>
  
  <p>Am I misinterpreting something ?</p>
  
  <p>Also, there is a huge difference between the emitted,transmitted and executed fields. Is this normal ?</p>
  
  <p>Also, Should process latency be always lower than the execute latency ?</p>
  
  <p>Which of the above shown topologies are better performance wise ? Also, How should I decide which topology is running better than the other , seeing the bolts data ? </p>