- Increasing the number of scanning clients, verification clients, and Processing Stations
- Increasing the power of machines for the Application, Processing, Licensing, and Database servers, and the FileStorage, using several machines for these roles
System monitoring and bottleneck detection helps you ascertain that the hardware used is not sufficient for the target performance and that it is time to scale up.
Demo
Demo is a typical configuration for demonstrations or pilot projects, and is not recommended for production-scale projects. All the System components are installed on a virtual machine or deployed on a PC.
MS SQL Express may be used as a database server and installed on the same machine with FlexiCapture servers. Instead of using separate FileStorage, files can be stored directly in the database. Operators and processing stations can be installed on the same machine.
In commercial projects, the Processing Station should never be installed on a computer hosting FlexiCapture servers or Database server, because it hogs up all resources and server performance deteriorates.
Medium
Medium is a typical configuration for commercial projects, because it is scalable: each server component is installed on a dedicated machine.Deployment guidelines
The Application Server should be installed on a dedicated machine, because it employs a scaling-up approach that is different from the Database, Processing, and Licensing servers.Technically, the Application Server, Processing Server, and Licensing Server can be installed on the same computer. Server redundancy will be ensured, but the Application Server’s scalability will not.
- The Application Server is a web service in IIS; its scaling and reliability are achieved by clustering that uses Microsoft Network Load Balancing technology. All cluster nodes are peers running in active-active mode and can be switched off at any time.
- The Processing Server and Licensing Server are Windows services; their reliability is achieved by creating an active-passive cluster based on Microsoft Failover Cluster technology.

Application Server
Requirements:- CPU: 8 physical cores, 2.4 GHz or faster
- 16 GB RAM
- HDD: 100 GB
- 2 NICs, 1 Gb/s: one to connect to the LAN and one to connect to the Database Server
- FileStorage: if a SAN is used, connect it using SCSI, Fibre Channel, or InfiniBand
- OS: Windows 2012 or later
- Transferring large binary bodies
- Responding quickly to small SOAP/JSON service requests
- A fast network interface for connecting to clients.
- A fast, stable connection to the FileStorage and Database Server.
- A multi-core CPU with high speed:
- The higher the speed, the faster each request is handled
- The more physical cores there are, the more requests are handled at the same time
- Sufficient RAM, at least 2 GB per physical core.
- With Microsoft Network Load Balancing technology, which clusters multiple computers with the Application Server role. For detailed instructions, see Failover configuration.
- At the hardware level, by connecting a different range of clients to different machines with the Application Server role. For example, you can use one machine to serve all automatic processing and another to expose it to external clients.
Processing Server and Licensing Server
Requirements:- 4-core CPU, 2.4 GHz or faster
- 8 GB RAM
- HDD: 100 GB
- NIC: 1 Gb/s for connecting to the LAN
- OS: Windows 2012 or later
Database Server
Requirements:- For MS SQL Server: MS SQL Server 2014 or higher, Standard or Enterprise Edition.
- For Oracle: Oracle 12c Enterprise Edition.
- CPU: 8 physical cores, 3.4 GHz or faster
- 16 GB RAM or more
- HDD: 400 GB
- OS: Windows 2012 or later
- More RAM if possible on the Database Server machine, to host the greater part of the database files in RAM and access it faster
- A fast HDD for quick access to the database part hosted on the disk (we recommend using an SSD for this purpose)
- Avoiding database modes with transaction delays (mirroring, and so on)
- Choosing Simple as the database recovery model
- Storing the database and its log on separate disks
- Regular index updates for frequently changing tables (Document, Page, Batch, Task, and EventLog). Otherwise, the size of an index may become larger than the size of the data in the table.
FileStorage
Requirements:- NAS or SAN, connected via LAN, SCSI, Fibre Channel, or InfiniBand
- Read-write speed: 100 MB/s*
- Capacity: 5 TB*
FileStorage sizing
Read-write speed and capacity requirements depend on two factors. Factor 1: the average and peak pages processed per day (24 hours) and per hour, and their color mode. As mentioned in the Performance metrics section, you can estimate the input flow in bytes per second using typical file sizes for pages scanned in color, grayscale, and black-and-white. Images make up the majority of data transferred within the System. By analyzing the processing workflow, define two values:- The number R of stages where page images are downloaded from the Application Server
- The number W of stages where page images are uploaded to the Application Server
- Required write speed = W × input flow in bytes per second.
- Required read speed = R × input flow in bytes per second.
- A Processing Station downloads images from a hot folder, pre-recognizes them, and uploads them to the Application Server (W=1, R=0).
- Another Processing Station retrieves these images from the Application Server, performs recognition, and the OCR results arrive at the Application Server (W=1, R=1).
- A verification operator downloads images and recognized data for checking and sends the verified data back to the Server (W=1, R=2).
- Finally, a Processing Station downloads images and verified data to send them to the customer’s backend system (W=1, R=3).
- Input flow = 10,000 grayscale page images/hour = 2.8 grayscale images/s = 8.4 MB/s.
- Required write speed = 1 × 8.4 MB/s = 8.4 MB/s.
- Required read speed = 3 × 8.4 MB/s = 25.2 MB/s.
We strongly recommend using a fault-tolerant storage technology, for example RAID 10. Search indexing and anti-virus scanning of FileStorage contents may decrease performance or block access to files that are being processed in the System.
Large
The Large configuration is required when you deal with a significant volume (more than 300,000) of color pages. Its range is up to 3 million black-and-white pages or up to 1 million color pages in 24 hours. All that is mentioned above about the Medium configuration remains valid for the Large configuration. The difference here is that you have to follow all optimization recommendations and pay special attention to each part of the system – to calculate the load and to choose hardware that is sufficiently powerful, yet not too expensive. Among other things, test the Internet connection and the backend connector to ensure they can operate at the target performance level. From the very beginning, consider using a 10 Gb/s network and a powerful FileStorage. Possible network architecture for the Large configuration is shown below.
