Optimize Queries

This section describes some basic steps to look at if IDOL Server is processing queries slowly.

  1. Verify that the query is reproducibly slow by sending it multiple times, and looking at the average duration (rather than the longest or shortest duration).

    If you cannot reproduce the behavior, the most likely cause is system load. In this case, investigate what else was happening during the slow period by referring to your IDOL log files.

  2. In a distributed environment where you are using a DAH to query, identify if the query is slow because of a subset of the child servers, or the DAH itself. Send the queries directly to the child servers to eliminate any overhead that the DAH adds.

  3. Disable query parameters one at a time to attempt to narrow down the problem. A single parameter can significantly increase the duration of the query. Similarly, remove single items from the Text or FieldText expressions.

    If changing just one parameter makes a large difference, consider what information this gives you. For example, if it is the Sort parameter, consider whether the sort is required, or whether it uses a field that is not optimized. Alternatively, does your search include a broad wildcard term?

The TermGetInfo action (with the Textparameter set to your query text) gives you some idea of the size of the total term information that IDOL Server might have to consider to return the query response.

You can get a more detailed timing analysis of the query by sending the Query action with the TimingAnalysis parameter set to True. This analysis includes the count and time spent accessing the internal indexes.

You can use the Query Speed Analysis tab in the Monitor page of IDOL Admin to run queries, analyze the query response speed and view a number of performance statistics. If the server is responding more slowly than expected, you can attempt to improve performance by altering query action and configuration parameters from within the IDOL Admin interface. You can also use the Terms tab on the Performance page in the Monitor section of IDOL Admin to view information about the frequency and type of terms in your data index, which can affect performance.