An approximate summary for tuning Network Prevent for Web (ICAP). This guide is intended as a ballpark estimate, and you should reach out to professional services for environment specific tuning.
Tuning options
Proxy servers:
Proxy servers ICAP policy should be aligned with the capabilities of the web prevent server. Consider the following:
DLP Web Prevent Servers:
DLP Network Prevent for Web (Web Prevent) ICAP performance is dependent on the number of CPU cores in the Web Prevent system, the policies enabled in the environment and on the performance of the proxy that feeds data to Web Prevent via ICAP.
Here is a summary of the tuning options that are available, and how they interact with the performance of the Web Prevent system:
Explanation of tuning options:
Note that in addition to the above parameters consideration should also be given to the tuning of detection server java heap memory and also the BoxMonitor.FilereaderMemory settings. In general with the Filereader.MaxFileSize setting at it's default of 30M an allows of 1GB per MessageChain should be more than sufficient for FilereaderMemory, for example with 16 message chains an allocation of 16GB for FilereaderMemory should be allowed. If the MaxFileSize setting is increased to 100M or more then the memory requirements for each MessageChain that is configured will increase exponentially. Current versions of DLP have a "slider" bar for maximum message size which in the configuration screen of the detection server which is constrained by the available hardware, if you find you cannot increase the slider further then you likely need to increase the memory available to the server. Note when calculating memory capacity always allow at least GB for the OS platform.
Also if it is observed that the DetectionServer process is consuming almost all of its allocated java heap memory this is a cause for concern, when java runs low on memory it attempt to perform an activity known as garbage collection to free up more memory, this is a very CPU intensive process and will often cause a significant drop in detection performance. There you should ensure java always has ample available memory.