Task Operations slow after the Cache Timeout expires


I am currently facing an interesting issue.

We have an application that uses the TASK API operations.

Out of the operations we use:

  • searchTasksIndexed
  • countTasksIndexed
  • getTask
  • updateTask.

The search we make is an indexed search.

For the moment the Cache information from out Production MWS Server are:
Cache Capacity: 40000
Cache Timeout: 2 hours

The problem is that every 2 hours or so, when the cache expires, for every user the above mentioned operations take very long. I would say that the average search done in this conditions takes about 20 seconds, which is very, very much. The worst was a search that took about 100 seconds.

Do you have any improvement ideas regarding this problem?

I know that I could modify the timeout to 1 day.

However there would still be once a day when the users would still feel that the search for example is taking too much.

Is there any way to prefetch the roles cache?

I want to be able to “warm-up” the cache so when the end-users start working they would experience only fast searches.

Thank you for your answers.