I did not say 3 thds per spout/bolt.
I said "When 60 bolts are run per node, there are 1200 total threads/node"
That gets me 20 threads/bolt.
And I am not creating any new threads inside my bolts.


On Thu, Mar 16, 2017 at 6:12 PM, Roshan Naik <[email protected]> wrote:

> I assume you mean ..3 thds per spout/bolt is on the high side ?
> Currently there is an executor thd, a xsfer thd and flusher thd. The plan
> (in the redesign – STORM-2284 subtask 2) is to have 1 thread per spout/bolt.
> Also have some (untested) thoughts on reducing the number of remaining
> threads in the worker.
> -roshan
>
>
> On 3/16/17, 5:07 PM, "S G" <[email protected]> wrote:
>
>     Thanks for sharing the doc Roshan.
>     It is very informative.
>
>     I think number of threads per bolt is on the high side (When 60 bolts
> are
>     run per node, there are 1200 total threads/node).
>
>     Some of these would be essential for the worker's book-keeping but
> still it
>     seems we can get a lot of performance boost if we can somehow reduce
> these
>     threads and the associated context switching between them.
>
>
>     On Thu, Mar 16, 2017 at 12:53 PM, Roshan Naik <[email protected]>
>     wrote:
>
>     > Typically  there are 3 threads per spout or bolt instance (unless the
>     > spout or bolt is spawning its own threads). There are the acker
> bolts,
>     > event loggers and system bolt running there too.
>     >
>     > Then there are several more per worker. See a summary of it in
> section 3.1
>     > of this document
>     >
>     > https://docs.google.com/document/d/1EzeHL3d7EE-
>     > RyyBEpN7CwRmWz3oqjbbKiVVAlzFp2Nc/edit?usp=sharing
>     >
>     >
>     >
>     >
>     > Get Outlook for iOS<https://aka.ms/o0ukef>
>     >
>     >
>     >
>     >
>     > On Thu, Mar 16, 2017 at 12:16 PM -0700, "S G" <
> [email protected]<
>     > mailto:[email protected]>> wrote:
>     >
>     > Hi,
>     >
>     > I am trying to make sense of number of threads seen in JConsole.
>     > It seems like a very high number of threads are launched per bolt
> thread.
>     >
>     >
>     > [cid:ii_j0crtbtm0_15ad8874d0924ae2]
>     > ​
>     > Experiment 1
>     > topology.workers.val=16
>     > spout.parallelism.val=1
>     > bolt1.parallelism.val=900
>     > bolt2.parallelism.val=160
>     > observation:
>     > Threads seen per node in jconsole = 1200
>     > Bolt threads per node = (900 + 160)/16 = 66
>     > Threads per bolt = 1200/66 = 18
>     >
>     >
>     > Experiment 2
>     > topology.workers.val=16
>     > spout.parallelism.val=1
>     > bolt1.parallelism.val=16
>     > bolt2.parallelism.val=16
>     > observation:
>     > Threads seen per node in jconsole = 61
>     > Bolt threads per node = (16+16)/16 = 2
>     > Threads per bolt = 61/2 = 30
>     >
>     > There are no other topologies running in my cluster.
>     > There are no other spouts/bolts running in my cluster except the ones
>     > mentioned above.
>     > I am running only one worker process per machine.
>     >
>     >
>     > So the question is how many threads per bolt are launched by storm?
>     > I am not interested in the exact number, but concerned about the high
>     > number of extra threads (18+ thread) for running a single bolt.
>     >
>     > Can we limit or optimize it somehow?
>     > Or if all of them are required, it would be good to document them
>     > somewhere.
>     >
>     > Thanks
>     > SG
>     >
>     >
>     >
>     >
>
>
>

Reply via email to