Hardware Requirements

The minimum configuration for a Locator server

For sizing suggestions, please see the tables at the end of this article.


Fresh InstallationUpgrade
 # CPU Cores44
 RAM (GB) 16 16
 Available Disk space (GB) - System Drive 55
 Available Disk space (GB) - Program Files22
 Available Disk space (GB) - Program Data 605

NOTE: These are the minimum required server specifications to install Locator and are only sufficient for very small installations. The majority of installations will require higher specifications.

The disk space requirements, shown in bold, are absolute required minimums. The installation will not proceed if these are not met.  For CPU and memory, the system will display a warning message if the actual values are below these minimums, but the installation will allow you to continue.  However, poor performance and database timeouts can result from a configuration that has too little memory, or too few CPU cores.

ayfie also recommends designating the Locator Program Data to install on a dedicated disk drive, different from the drive on which the OS is installed. 

The recommended configuration will depend upon the customer's environment.  To determine the appropriate configuration, one must consider the two different periods of Locator indexing: Initial indexing, and Incremental indexing.

Initial Indexing

Initial indexing is the period right after all of the data connections have been configured and connection schedules have been established, during which Locator first discovers all of the documents in each of the repositories, converts all the documents' content, and stores the data in the Locator index. During this time it is recommended that users do not perform searches as Locator will be consuming almost all of the CPU for indexing operations, leaving little processing time for searches. 

Volume, Type, and Size of Documents

The size and type of individual documents, as well as the total number of documents will contribute to both the CPU and the memory requirements.  Large, text-rich, multi-page documents require more system resources than smaller documents with little text.  Files that require Optical Character Recognition (OCR) conversion, like JPG and GIF image formats, and TIF and PDF files with embedded images, will consume much more of the CPU cores than files that do not require OCR conversion.  If these files are large and contain many pages, this will increase the CPU consumption even more and will require a server configuration with more CPU cores to achieve acceptable indexing performance.  Adding additional Locator servers to assist with the fetch and conversion processes during the initial indexing period may be required to complete indexing within the desired time frame.


Incremental Indexing


Incremental indexing is the period after initial indexing has completed, where indexing is being performed on only new and changed documents, and users are performing searches.  

Index Size, Document Turnover, and Concurrent User Searches

A large index, a high volume of new and changed documents each day, and a large number of users performing concurrent searches will increase the recommended minimums for # CPU cores and RAM.  For example, for an index containing several million documents, the Locator server may require at least 32GB RAM to ensure acceptable performance and to avoid timeout errors. If the number of concurrent users is very high, this will further increase the memory requirement. It is during the incremental indexing period where it is determined that additional Locator  servers that may have been necessary during initial indexing, are no longer needed.   

Summary

There are too many variables to provide an exact recommendation for a server configuration.  However, the following are general guidelines:

  • The larger the index, the more memory is needed.
  • The more concurrent users performing search, the more memory is needed.
  • The greater the number of total documents (for initial indexing), or the greater the number new and changed documents each day (for incremental indexing), the greater the processing power (# CPU cores and processor speed) is needed.
  • The greater the number of documents requiring OCR conversion, and the greater the number of pages in these documents, the greater the processing power (# CPU cores and processor speed) is needed.

The amount of available disk space for Program Data will depend upon both the amount of data indexed, and the projected rate of growth for new documents.  Additionally, it is important that adequate disk space is available for product upgrades.  Locator includes PostgreSQL, an open source object-relational database system.  There will be occasions when a Locator service release, or a new product release will include an updated version of PostgreSQL.  When this occurs, the upgrade process will require enough space to temporarily copy the database.  This means that there needs to be available disk space in the amount of approximately 2 1/2 times the size of the database.  A good practice would be to make sure there is always plenty of available disk space.


Disks

The disk drives are important for the overall Locator Server performance. While performing indexing, the disk read/write loads will periodically be very heavy, thus fast disk I/O is important.  During indexing, Locator is continuously reading and writing to and from the database, the index, and various log files.

Because of the large amounts of data and the frequency of disk read/write operations, selecting a storage system with high I/O speed will greatly increase the performance of the Locator server, especially when it come to searches.


Hard Disk Drive (HDD) or Solid State Disk (SSD)

A Solid State Disk (SSD) offers outstanding I/O performance. Although the storage will be more expensive than standard disk systems, SSDs greatly increase the Locator Server indexing performance, and all I/O operations.  This is especially important regarding user search time performance.


CPU

Locator indexing is CPU intensive.  Indexing that requires OCR processing is even more CPU intensive.  The Locator Server is tuned to use as much of the available CPU resources as possible. The faster the processors, and the greater the number of CPU cores, the faster your Locator Server will perform.  It is important to know that not all CPUs provide the same level of performance.  They differ in speed (measured in GHz), the number of cores, and the amount of L2 and L3 cache, among other differences.  Therefore, it is important to configure a server with both the appropriate number of CPUs as well as the specific type of CPU.


Memory

The more memory available in your ViaWorks/Locator Server, the larger the number of processes and threads can be handled simultaneously. This is especially true for the following Locator components: Database, Index Engine, and converters.  It is important to also know that the greater the number of CPU cores, the greater the number of activities like the number of running processes and threads, which in turn, will lead to higher memory consumption.


Virtual Environments

If you choose, you can install the Locator Server in a virtual environment. By using a virtual machine, you can allocate more virtual resources as they are needed, such as during the initial indexing period. The virtual resources can then be reduced to a lower level during "steady state" operations when performing scheduled incremental indexing.



Recommended Hardware for Various Environments

These recommendations are meant for a indexing duration of 3-4 months.

If faster indexing is required, e.g 1 month we would need 3x hardware (main & fetch servers).

Small/minimum

The minimum configuration for a Locator server (0-2 mill)


Fresh Installation
 # CPU Cores4
 RAM (GB) 16
 Available Disk space (GB) - System Drive 20
 Available Disk space (GB) - Program Files60
 Available Disk space (GB) - Program Data 200


Recommended configuration for a Locator & Supervisor (0-2 mill)


Fresh Installation
 # CPU Cores8
 RAM (GB) 32
 Available Disk space (GB) - System Drive 20
 Available Disk space (GB) - Program Files60
 Available Disk space (GB) - Program Data 250

Medium

Recommended configuration for a medium Locator server (2-8 mill)


Fresh Installation
 # CPU Cores8
 RAM (GB) 32
 Available Disk space (GB) - System Drive 20
 Available Disk space (GB) - Program Files60
 Available Disk space (GB) - Program Data 300


Recommended configuration for a medium Locator & Supervisor (2-8 mill)


Fresh Installation
 # CPU Cores16
 RAM (GB) 48
 Available Disk space (GB) - System Drive 20
 Available Disk space (GB) - Program Files60
 Available Disk space (GB) - Program Data 350

Medium + 

Recommended configuration for a medium Locator server (8-20 mill)

Main


Fresh Installation
 # CPU Cores16
 RAM (GB) 48
 Available Disk space (GB) - System Drive 20
 Available Disk space (GB) - Program Files60
 Available Disk space (GB) - Program Data 500

Additional fetch server


Fresh Installation
 # CPU Cores12
 RAM (GB) 24
 Available Disk space (GB) - System Drive 20
 Available Disk space (GB) - Program Files60
 Available Disk space (GB) - Program Data 60


Recommended configuration for a medium Locator & Supervisor (8-20 mill)


Fresh Installation
 # CPU Cores24
 RAM (GB) 64
 Available Disk space (GB) - System Drive 20
 Available Disk space (GB) - Program Files60
 Available Disk space (GB) - Program Data 600

Additional fetch server


Fresh Installation
 # CPU Cores12
 RAM (GB) 24
 Available Disk space (GB) - System Drive 20
 Available Disk space (GB) - Program Files60
 Available Disk space (GB) - Program Data 60

Large

Recommended configuration for a Large Locator server (20-40+ mill)

Database server (MSSQL)


Fresh Installation
 # CPU Cores12
 RAM (GB) 100
 Available Disk space (GB) - System Drive 20
 Available Disk space (GB) - Program Files60
 Available Disk space (GB) - Program Data 1TB

Search server 1 (no replication)


Fresh Installation
 # CPU Cores12
 RAM (GB) 100
 Available Disk space (GB) - System Drive 20
 Available Disk space (GB) - Program Files60
 Available Disk space (GB) - Program Data 800GB

Searcher server 2 (no replication)


Fresh Installation
 # CPU Cores12
 RAM (GB) 100
 Available Disk space (GB) - System Drive 20
 Available Disk space (GB) - Program Files60
 Available Disk space (GB) - Program Data 800GB

Additional fetch server


Fresh Installation
 # CPU Cores32
 RAM (GB) 64
 Available Disk space (GB) - System Drive 20
 Available Disk space (GB) - Program Files60
 Available Disk space (GB) - Program Data 100


Recommended configuration for a medium Locator & Supervisor (20-40+ mill)

Database server (MSSQL)


Fresh Installation
 # CPU Cores16
 RAM (GB) 100
 Available Disk space (GB) - System Drive 20
 Available Disk space (GB) - Program Files60
 Available Disk space (GB) - Program Data 800

Search server 1 (no replication) + Supervisor


Fresh Installation
 # CPU Cores24
 RAM (GB) 128
 Available Disk space (GB) - System Drive 20
 Available Disk space (GB) - Program Files60
 Available Disk space (GB) - Program Data 700

Searcher server 2 (no replication)


Fresh Installation
 # CPU Cores12
 RAM (GB) 100
 Available Disk space (GB) - System Drive 20
 Available Disk space (GB) - Program Files60
 Available Disk space (GB) - Program Data 600

Additional fetch server


Fresh Installation
 # CPU Cores32
 RAM (GB) 64
 Available Disk space (GB) - System Drive 20
 Available Disk space (GB) - Program Files60
 Available Disk space (GB) - Program Data 100

See also

ayfie