Performance Considerations
The performance of a Kofax Search and Matching Server can be measured in two ways. For a single specific query, the time to answer the query can be measured. For the entire server, it is also possible to measure the throughput in queries per second, if there are enough queries. The fastest response time for a single query depends on the size of the imported database and the complexity of the query. The size of the imported database is generally based on the number of records and the number of columns. The complexity of the query is determined by the number of words in the query, but also highly depends on the number of words inside the query that matches a record. The match score calculation also becomes more complex the more words are matched in the same record. In particular, searching for words that are displayed very frequently in the database can slow down the response time, because a lot of records needs to be evaluated to calculate the score.
The matching algorithm in the Kofax Search and Matching Server fully supports multi-core systems. An increasing number of CPUs inside a server system can reduce the minimal response time to a certain extent, especially, for fuzzy indexes from larger databases. There may be no impact for databases with less than 1 million records if no further parallel processing is possible. In any case an increasing number of CPUs increases the maximum throughput of search queries that can be processed per second.
If the maximum throughput in a given hardware environment is not adequate, it is possible to build a load balancing cluster to increase the overall throughput for search queries.
A load balancing cluster is a set of multiple computers that are linked together and share the computational workload, but are displayed as a single virtual computer. The overall throughput of a load balancing cluster scales almost linearly as computers are added to the cluster. If the maximum throughput for a single stand-alone Kofax Search and Matching Server is known and the required throughput for the complete installation is also known, the number of computers for a load balancing cluster can be calculated.
You can monitor the performance of a load balancer by displaying the performance counters of each Search and Matching Server that is a member of the cluster.