How to tune up the performance of a Processing Station

A Processing Station is a Windows service application. To process a task, a Station:

  • connects to the Processing Server, to get identifiers of tasks to process
  • connects to the Application Server via HTTP/HTTPS and downloads images, document data, and processing settings
  • initiates several executive processes to carry out processing tasks
  • uploads the results to either the Application Server or to a backend system (e.g. ERP system or DMS).

These processes intensively use the hard disk to save intermediate processing data to a temporary folder.

The hardware used for Processing Stations has a considerable impact on FlexiCapture performance.

Machine Role Requirements
Processing Station

CPU: 8 physical cores with Hyper-Threading, 2.4 GHz or higher

16 GB RAM

HDD: 150 GB

NIC: 1 GB/s

OS: Windows 2012 or later

A Station launches 1 executive process per each CPU core, so more CPU cores allows for the processing more tasks simultaneously. For better CPU performance use Hyper-Threading where technically possible.

Note: Using more than 16 logical CPU cores is a bad choice: multiple executive processes will compete for the hard disk time and CPU cache memory.

At least 2,5 GB of RAM per logical core is sufficient for processing.

The processing speed greatly depends on the CPU frequency and the hard disk read-write speed. It is recommended to setup a fast hard drive for a Processing Station, or to combine several hard drives to RAID0 to achieve greater speed of access in executive processes to temporary folders.

If the amount of available RAM is greater than the recommended 2,5 GB per logical core, it is recommended to create a virtual hard disk in RAM and place a temporary folder for executive processes there – this may result in up to a 30% boost of processing speed.

Note: How to estimate the size of a temporary folder for executive processes.
The maximum hard disk space required for a temporary folder is actually the total size of document images in a typical batch, in MB, multiplied by the number of executive processes, which by default is the number of logical CPU cores.

Example. Let’s calculate the maximum size of a temporary folder in a setup where grayscale images are processed in 100-page batches on an 8-core Station with Hyper-Threading enabled.
The size of a batch in MB = 100 pages x 3 MB, of which the typical size of a grayscale page in MB = 300 MB.
8-core computer with Hyper-Threading enabled provides 16 logical cores, hence the Processing station will run 16 simultaneous executive processes.  
Thus, the required space for the temporary folder is 300 MB x 16 executive processes = 4.8 GB.
If the temporary folder is hosted in RAM, then the required RAM size is:
2,5 GB per each logical core, as required for processing x 16 executive processes + 4.8 GB for temporary folder = about 45 GB of RAM.

There is no need to provide redundancy for the hard drives of the Processing Station. In case of failure, only the results of current processing will be lost, the images will be forwarded to another Processing Station and processed there – surely, for this you need to have at least 2 Processing Stations in the System.

25.05.2023 7:55:03

Please leave your feedback about this article

Usage of Cookies. In order to optimize the website functionality and improve your online experience ABBYY uses cookies. You agree to the usage of cookies when you continue using this site. Further details can be found in our Privacy Notice.