Boosting performance of Kaspersky Scan Engine

March 5, 2024

ID 179827

Kaspersky Scan Engine supports multithreading. This feature allows you to use Kaspersky Scan Engine on high-load systems.

This section describes best practices for boosting performance of Kaspersky Scan Engine.

General recommendations on raising performance

To achieve optimal performance:

  • Use the number of scanning processes equal to the number of CPU cores and two threads per process.
  • Enable Keep-Alive for ICAP and HTTP connections.

Recommendations for raising performance of Kaspersky Scan Engine in HTTP mode

The following list presents the recommended order of configuring Kaspersky Scan Engine for peak performance:

  1. Specify the number of scan processes and scan threads that you want in the ScannersCount parameter and the ThreadsCount parameter, respectively.

    The threads process scan tasks from the scan queue. The length of the scan queue is specified in the QueueLen parameter of the HTTP mode configuration file.

  2. Specify the maximum number of active TCP connections to Kaspersky Scan Engine in the MaxHTTPSessionsNum parameter.

    When Kaspersky Scan Engine works in a high-load environment, it is recommended to make the value of this parameter greater than the value of ThreadsCount, so that the scan queue is filled faster and scan threads do not stand idle. Please notice that Kaspersky Scan Engine loads files into system memory while scanning. The more active sessions Kaspersky Scan Engine has, the more system memory it consumes. You can limit the maximum allowed size of headers and bodies of HTTP messages that are sent to KAV HTTPD by specifying their maximum size in the MaxTCPFileSize parameter.

  3. Specify the desired number of pending TCP connections to Kaspersky Scan Engine in the MaxIncomingConnectionsNum parameter. Notice that this value is passed to the listen(2) system function and may be changed depending on the operating system.

It is recommended to set the value of MaxIncomingConnectionsNum several times greater than the value of MaxHTTPSessionsNum. This way, the pending connections will be put in the connection queue and scan tasks from these clients will not be lost.

Using TLS significantly reduces the performance of Kaspersky Scan Engine. For best results, use TLS 1.3 as it is the most productive.

Recommendations for raising performance of Kaspersky Scan Engine in ICAP mode

Specify the number of scan processes and scan threads that you want in the ScannersCount parameter and the ThreadsCount parameter, respectively.

Did you find this article helpful?
What can we do better?
Thank you for your feedback! You're helping us improve.
Thank you for your feedback! You're helping us improve.