Worker threads and min/ max circuits #8608
-
|
In, "configuration.json", I think these settings are self explanatory however, to remove ambiguity, please can you elaborate/ explain the settings below?
Are the default values used conservative, to be applicable for all system types? For more modern/ high end systems would there be any benefit increasing these values? |
Beta Was this translation helpful? Give feedback.
Replies: 1 comment 1 reply
-
|
These are low-level settings and you need to know about object pools for these settings to make (conceptual) sense. I'll try my best to give you the ropes. There are essentially two pools here. The first is the thread pool that handles network data ( In both cases, having too few objects (or threads) in a pool can underutilize your CPU. If you allocate too many threads, they will just be idle and cause management overhead. This overhead may be in simple thread management but - in the case of circuits - can also cause a lot of useless network messages. The settings that you found control the size of the pools. For the number of threads handling network information ( By default, we set the maximum number of threads to 1 thread per anonymizing circuit, for the maximum number of circuits. More threads doesn't make much sense (at best, this will only marginally improve your speed beyond this ratio). If you're willing to sacrifice the time it takes for Tribler to start and some bandwidth, you can increase the minimum number of circuits. However, setting the minimum circuits to anything beyond |
Beta Was this translation helpful? Give feedback.
These are low-level settings and you need to know about object pools for these settings to make (conceptual) sense. I'll try my best to give you the ropes.
There are essentially two pools here. The first is the thread pool that handles network data (
worker_threads) and the second pool consists of the anonymizing circuits through which anonymous downloads go (min_circuitsandmax_circuits).In both cases, having too few objects (or threads) in a pool can underutilize your CPU. If you allocate too many threads, they will just be idle and cause management overhead. This overhead may be in simple thread management but - in the case of circuits - can also cause a lot of useless network messages.