Performance Tuning
Nemesis may perform differently depending on the system architecture and resources, specifically RAM and the number of CPUs.
If workflows begin to fail, or you are experiencing major performance issues (as diagnosed by the Troubleshooting document) there are a few tunable parameters that can help. Alternatively, if your performance is fine and you want to potentially increase performance, you can increase these values. Most/all of these values involve altering behaviors for the file-enrichment
service.
UVICORN_WORKERS
For production (non-dev) deployments, multiple UVICORN_WORKERS are used for the file-enrichment
service. The default value is 2 and is defined in the file-enrichment
section in docker-compose.prod.yml. This value can be set to 1 for troubleshooting, or increased to 4+ for potential performance gains.
MAX_PARALLEL_WORKFLOWS
The file-enrichment
container runs a number of file-enrichment workflows in parallel, defaulting to 5. You can modify this value by defining the export MAX_PARALLEL_WORKFLOWS=3
environment variable before launching Nemesis.
MAX_PARALLEL_ENRICHMENT_MODULES
For each file enrichment workflow, the file-enrichment
container runs multiple file enrichment modules in parallel, defaulting to 5. You can modify this value by defining the export MAX_PARALLEL_ENRICHMENT_MODULES=3
environment variable before launching Nemesis.