Performance tips
The application runs regular maintenance and DB cleanup tasks. If these tasks fail, you might encounter performance issues.
Most performance issues are caused by a big database or large log files. Enabling unnecessary plugins will also lead to performance degradation.
You can always check the size of your database and database tables under the Maintenance page.
Note
For around 100 devices the database should be approximately 50MB
and none of the entries (rows) should exceed the value of 10 000
on a healthy system. These numbers will depend on your network activity and settings.
Maintenance plugins
There are 2 plugins responsible for maintaining the overal health of the application. One is responsible for the database cleanup and one for other tasks, such as log cleanup.
DB Cleanup (DBCLNP)
The database cleanup plugin. Check details and related setting in the DB Cleanup plugin docs. Make sure the plugin is not failing by checking the logs. Try changing the schedule DBCLNP_RUN_SCHD
and the timeout DBCLNP_RUN_TIMEOUT
(increase) if the plugin is failing to execute.
Maintenance (MAINT)
The maintenance plugin. Check details and related setting in the Maintenance plugin docs. Make sure the plugin is not failing by checking the logs. Try changing the schedule MAINT_RUN_SCHD
and the timeout MAINT_RUN_TIMEOUT
(increase) if the plugin is failing to execute.
Scan frequency and coverage
The more often you scan the networks the more resources, traffic and DB read/write cycles are executed. Especially on busy networks and lower end hardware, consider increasing scan intervals (<PLUGIN>_RUN_SCHD
) and timeouts (<PLUGIN>_RUN_TIMEOUT
).
Also consider decreasing the scanned subnet, e.g. from /16
to /24
if need be.
Store temporary files in memory
You can also store temporary files in application memory (/app/api
and /app/log
folders). See highlighted lines ◀
below.
version: "3"
services:
netalertx:
container_name: netalertx
# use the below line if you want to test the latest dev image
# image: "jokobsk/netalertx-dev:latest"
image: "jokobsk/netalertx:latest"
network_mode: "host"
restart: unless-stopped
volumes:
- local/path/config:/app/config
- local/path/db:/app/db
# (optional) useful for debugging if you have issues setting up the container
- local/path/logs:/app/log
# (API: OPTION 1) use for performance
- type: tmpfs # ◀
target: /app/api # ◀
# (API: OPTION 2) use when debugging issues
# - local/path/api:/app/api
environment:
- TZ=Europe/Berlin
- PORT=20211