By default, Unimus executes all device operations concurrently (in parallel), up to a configured limit.
All job requests started by the users or by any schedule are queued, and executors then process jobs from the appropriated queues.
Unimus currently separates jobs into 4 job-specific queues: "discovery", "backup", "config_push", "network_scan".
Default configuration allows for 100 concurrent jobs for each executor for "discovery", "backup" and "config_push".
The "network_scan" executor by default allows for 20 concurrent jobs, with each IP being scanned consuming one job.
For example:
- if you run a Discovery on 5 devices, all 5 devices will be discovered in parallel.
- if you run a Config Push on 200 devices, Unimus will start pushing to 100 devices in parallel, and continue pushing with up to 100 maximum parallel sessions until the Push finishes on all devices
Unimus uses thread pools for as the executors for the per-job-type queues. By affecting the size of the thread pools, you can change how many concurrent (parallel) jobs Unimus executes.
(this will in turn also affect how many maximum concurrent outbound SSH / Telnet sessions Unimus opens to your devices)
You can adjust the thread pool sizes with these setting:
-Dunimus.server.core.discovery-thread-pool-core-size=10 -Dunimus.server.core.discovery-thread-pool-max-size=10 -Dunimus.server.core.backup-thread-pool-core-size=10 -Dunimus.server.core.backup-thread-pool-max-size=10 -Dunimus.server.core.push-thread-pool-core-size=10 -Dunimus.server.core.push-thread-pool-max-size=10 -Dunimus.server.core.scan-thread-pool-core-size=10 -Dunimus.server.core.scan-thread-pool-max-size=10
In the above example, we configured Unimus to perform a maximum of 10 concurrent jobs of each type.
If you use Unimus Core, the Unimus server will propagate these settings to each Core - so configuring this is needed only on the Unimus server.
(please note each core will use it's own thread pools for jobs - in effect, this configures job concurrency per Core)
Configuring on Windows:
For portable:
Create a file named Unimus.l4j.ini in the same directory as the Unimus executable.
Change Unimus in the above file name to exactly match the name of the Unimus executable.
For installer:
Add the configuration lines to Unimus.l4j.ini in 'C:\Program Files\Unimus\'.
Please make sure to place each argument into its own line.
Restart Unimus to apply the new configuration.
On Linux (Debian/Ubuntu):
Edit the contents of /etc/default/unimus.
Append the appropriate arguments behind other configuration in this file.
Please make sure all configuration items in the file are on one line, separated by spaces.
Restart Unimus to apply the new configuration.