Igniters,
If you look at a thread dump of an idle Ignite instance, you will find billions threads there. System pool, public pool, management pool, IGFS pool, data streamer pool, etc.. I think we can easily do the following with no risk to performance: 1) Set core size to zero to all thread pools except of probably system and marshaller pools. 2) Set TTL so that idle threads die eventually. It can be set to several minutes, I believe. Benefits: 1) Better resource utilization. Every thread consumes at least 1Mb of stack. And remember that some folks in Java community pushes idea that is it way to restrictive on modern machines, so that it can be increased any time in future. 2) Better startup time; 3) Easier debug of thread dumps. Thoughts? Vladimir. |
+100500
We need to stop threads after some idle time. Sergi 2016-09-29 11:26 GMT+03:00 Vladimir Ozerov <[hidden email]>: > Igniters, > > If you look at a thread dump of an idle Ignite instance, you will find > billions threads there. System pool, public pool, management pool, IGFS > pool, data streamer pool, etc.. > > I think we can easily do the following with no risk to performance: > 1) Set core size to zero to all thread pools except of probably system and > marshaller pools. > 2) Set TTL so that idle threads die eventually. It can be set to several > minutes, I believe. > > Benefits: > 1) Better resource utilization. Every thread consumes at least 1Mb of > stack. And remember that some folks in Java community pushes idea that is > it way to restrictive on modern machines, so that it can be increased any > time in future. > 2) Better startup time; > 3) Easier debug of thread dumps. > > Thoughts? > > Vladimir. > |
Just as idea -
if we implement stop thread after some idle time, may be it make sense to add a line to log about this? -- Alexey Kuznetsov |
Created ticket: https://issues.apache.org/jira/browse/IGNITE-4001
On Thu, Sep 29, 2016 at 12:25 PM, Alexey Kuznetsov <[hidden email]> wrote: > Just as idea - > > if we implement stop thread after some idle time, may be it make sense to > add a line to log about this? > > -- > Alexey Kuznetsov > |
Ignite node thread dump after applying quick and dirty solution - just
added *ThreadPoolExecutor.allowCoreThreadTimeOut(true)* to base thread pool: "srvc-deploy-#20%null%" "exchange-worker-#19%null%" "ttl-cleanup-worker-#18%null%" "grid-time-coordinator-#17%null%" "grid-time-server-reader-#16%null%" "disco-event-worker-#15%null%" "tcp-disco-ip-finder-cleaner-#5%null%" "tcp-disco-srvr-#4%null%" "tcp-disco-msg-worker-#3%null%" "grid-data-loader-flusher-#14%null%" "tcp-comm-worker-#1%null%" "grid-nio-worker-3-#12%null%" "grid-nio-worker-2-#11%null%" "grid-nio-worker-1-#10%null%" "grid-nio-worker-0-#9%null%" "nio-acceptor-#8%null%" "grid-timeout-worker-#7%null%" Looks pretty nice to me. Now need to finalize and benchmark it. On Thu, Sep 29, 2016 at 2:05 PM, Vladimir Ozerov <[hidden email]> wrote: > Created ticket: https://issues.apache.org/jira/browse/IGNITE-4001 > > On Thu, Sep 29, 2016 at 12:25 PM, Alexey Kuznetsov < > [hidden email]> wrote: > >> Just as idea - >> >> if we implement stop thread after some idle time, may be it make sense to >> add a line to log about this? >> >> -- >> Alexey Kuznetsov >> > > |
Implemented. Will appear in master soon. Benchmarks shown no performance
drop. On Thu, Sep 29, 2016 at 3:16 PM, Vladimir Ozerov <[hidden email]> wrote: > Ignite node thread dump after applying quick and dirty solution - just > added *ThreadPoolExecutor.allowCoreThreadTimeOut(true)* to base thread > pool: > > "srvc-deploy-#20%null%" > "exchange-worker-#19%null%" > "ttl-cleanup-worker-#18%null%" > "grid-time-coordinator-#17%null%" > "grid-time-server-reader-#16%null%" > "disco-event-worker-#15%null%" > "tcp-disco-ip-finder-cleaner-#5%null%" > "tcp-disco-srvr-#4%null%" > "tcp-disco-msg-worker-#3%null%" > "grid-data-loader-flusher-#14%null%" > "tcp-comm-worker-#1%null%" > "grid-nio-worker-3-#12%null%" > "grid-nio-worker-2-#11%null%" > "grid-nio-worker-1-#10%null%" > "grid-nio-worker-0-#9%null%" > "nio-acceptor-#8%null%" > "grid-timeout-worker-#7%null%" > > Looks pretty nice to me. Now need to finalize and benchmark it. > > On Thu, Sep 29, 2016 at 2:05 PM, Vladimir Ozerov <[hidden email]> > wrote: > >> Created ticket: https://issues.apache.org/jira/browse/IGNITE-4001 >> >> On Thu, Sep 29, 2016 at 12:25 PM, Alexey Kuznetsov < >> [hidden email]> wrote: >> >>> Just as idea - >>> >>> if we implement stop thread after some idle time, may be it make sense to >>> add a line to log about this? >>> >>> -- >>> Alexey Kuznetsov >>> >> >> > |
Free forum by Nabble | Edit this page |