Is it recommended to run Antivirus software on the SingleStore Database server?
Antivirus software on Linux is known to interfere with SingleStore software. We recommend that before rolling out any 3rd party software on SingleStore Database servers, test the whole system under a full load to measure any changes in stability and performance.
Virus protection software requires some system resources to execute. We don't officially recommend using Anti Virus software on the SingleStore Database server. So, perform testing before and after installing any antivirus software to determine whether there is any performance effect on the server that is running SingleStore.
You should be aware that, due to the nature of Antivirus software, many cause disk IO bandwidth to be reduced as most Antivirus software checks disk writes/reads. Also, as the Antivirus software runs, it will use CPU cycles that would normally be consumed by other server processes (e.g., your database instance). As such, databases will have faster performance when not using Antivirus software. Some Antivirus software is known to lock the files while it scans then it is a good idea to exclude the SingleStore specific directories.
The general practice/recommendation is that any 3rd party application or service should be transparent. None of its operations should interfere with the currently running SingleStore processes and cause any potential locking of the files used by these processes.
If there is a critical business requirement to have antivirus software on SingleStore DB servers, please refer to the section below.
Directories to exclude from virus scanning
When you configure your antivirus software settings, make sure to exclude the following files or directories (as applicable) from scanning. This improves the performance of the files and helps make sure that the files are not locked when the SingleStore must use them.
- The data directory
- The install directory
- The plancache directory
Excluding all the SingleStore related files and directories is recommended.
For Toolbox managed cluster:
sdb-admin describe-node the command can be used to find the default directory locations.
For memsql-ops managed cluster:
memsql-ops memsql-path the command can be used to find the directory where the given memsql node is installed.
By default, MemSQL Ops data, including its own tracelogs, is stored in /var/lib/memsql-ops/data.
MemSQL installation data is stored in /var/lib/memsql.