...
Code Block |
---|
-Dduracloud.bridge.threads-per-job=5" |
This setting defines the number of threads that can be allocated for transferring files for each snapshot that is in progress.
What setting values should I use?
Together, the size of the jobTaskExecutor pool and the threads-per-job setting define your CPU utilization. Exactly how this translates to normalized load average can only be determined by experimentation.
The production DuraCloud Vault bridge application during a period of high activity in Jan-Mar 2018 landed on these settings, which provided the preferred load average:
CPU Cores | 24 |
---|---|
jobTaskExecutor size (maxPoolSize and corePoolSize) | 7 |
threads-per-job | 5 |
The total potential threads with these settings is (7 * 5) = 35.
This was with a setting of 24 CPU cores on the bridge VM. This suggests that a ratio of potential threads to CPU cores of (35 / 24) = 1.45 is about right.
Attempting to achieve the same ratio for a machine with 8 CPU cores, might suggest settings like:
CPU Cores | 8 |
---|---|
jobTaskExecutor size (maxPoolSize and corePoolSize) | 4 |
threads-per-job | 3 |
Total potential threads (4 * 3) = 12. Ratio of potential threads to CPU cores = 1.5.