Use > Sizing > Universal Discovery Capacity > Sizing XML Enricher

Sizing XML Enricher

The XML Enricher is used in UD Inventory scan jobs to process scan files. If your CMS environment leverages UD Inventory jobs, then you need to plan for extra memory requirement on the probes for the XML Enricher. Starting from Universal Discovery version 10.10, the XML Enricher is re-written in Java and uses 64-bit JRE.

The table below summarizes the memory and thread settings required to run XML Enricher process:

Probe Deployment Mode XML Enricher Thread Count XML Enricher JVM Memory (MB) XML Enricher Mode
Small 1 3584 Database
Standard 2 5120 Memory
Enterprise 4 8192 Memory

Small deployment of the probe. In this mode the XML Enricher is configured to use the DB mode to save memory.

DB mode for the XML Enricher is an option which can be leveraged for small size deployment where it stores the largest portion of the SAI files and the file data in the temporary database instead of keeping it in memory. It saves quite a bit of memory, but the processing speed for incoming scan files is degraded and disk I/O on the server running the probe will show some spikes.

Standard deployment of the probe. The number of XML Enricher threads plays a vital role in the probe sizing for the Standard probe deployment.

Enterprise deployment of the probe. The Enterprise mode uses more threads and more memory for processing, but has the best performance (provided that the probe’s hardware is sized appropriately). If one needs to scale even more (if there is a build-up of scan files in the Incoming directory of the XML Enricher), one can increase the amount of threads further.

CMS product R&D team has tested up to 8 XML Enricher threads working in parallel. But in this case large amounts of memory (up to 16 GB) needs to be allocated for its JVM, so it does not run out of the probe memory when processing very large scan files.

Note The XML Enricher runs as a separate process from the probe and has its own JVM. Even if the XML Enricher runs out of memory, it does not affect the probe process that runs separately. Increasing the XML Enricher thread count helps to improve scan processing performance.

Higher numbers of threads that are allocated to the XML Enricher service results in higher amounts of CPU and memory that the XML Enricher process consumes. As a result, the processing of scan files runs faster and faster. However, too many threads may slow down the processing if there is not enough CPU or memory resources available. In this case, disk performance becomes a constraining factor.