10.8 Ensuring Optimal Search Speed

After a virtual search server has been accessed, all of its configuration files are read into memory. For speed reasons, the virtual search server remains cached in memory until a period of inactivity has elapsed. The virtual search server is then dynamically removed from memory until its next use. Because of this, the first time a virtual search server is accessed is usually the slowest.

However, there are other factors that can affect the performance of your QuickFinder services. As with any software, the amount of available system resources (CPU, RAM, and hard drive) affects QuickFinder Server performance. QuickFinder speed depends on the following factors:

  • System processor speed

  • Number of processors

  • Amount of system memory (RAM)

  • Number of hosted virtual search servers

  • Number of indexes within each virtual search server

  • Number of files included within each index

  • Number of indexes included within each query

  • Number of queries performed at one time

  • Complexity of users’ queries

  • Number of search results returned with each results page

  • Number of concurrent active indexing jobs

  • Other functions being performed by your server

Adjusting any of these values can have a significant impact on the performance of your search services.

As a general guideline, use the fastest CPU possible and include as much RAM as possible. Although the duration of each user query is very short, while it is active it consumes an average of 500 KB of memory. Memory consumption varies widely while the indexer is calculating the final search results list, depending on the number of possible search results.

Also, try to schedule the regeneration of your indexes during off-peak hours so that it won’t interfere with normal user searches. (See Section 8.9, Automating Index and Server Maintenance.)