Gravatar for

Question by sdimillo, Feb 16, 2017 2:20 PM

Query speed - areas to check

How do you investigate some issues customers are hearing from their users related to overall query speed? They have sporadic user feedback that queries can be slow (2-5 seconds) and I've looked at the analytics to see some rare spikes for individual users up to 15+ seconds. Are there any specific troubleshooting things they should be looking at?

Would a timeline recording in DevTools from the browser be useful? When they looked at this they see a script called CoveoJsSearch.js1 which takes 562.37 ms.

1 Reply
Gravatar for

Answer by François Lachance-Guillemette, Feb 16, 2017 3:22 PM

There are general guidelines, they should give you some directions to look at. Be aware that there are many other causes, this certainly does not cover every possible slowness causes.

Test a simple query directly against the endpoint

See if a simple query takes time. If it does, it might be a networking/infrastructure problem, for which Coveo can't do much.

Check the calls payload

Are they fetching 1000 results (the maximum allowed)? Do they have an enormous amount of facets? Are they executing many queries at the same time? See if the call executed is taking time to return from the index simply because it has a lot of data. In which case, they should tweak parameters to reduce the amount of data returned.

Check the query executed

Are they nested queries? Wildcard matches? There are many query operations that can slow down your query, but this question pretty much covers every query enhancement:

Profile the query

You should also try some queries with the debug=1 parameter, it gives some clues as to what is taking time in the index with the duration attribute.

Also, you should check what is special about those 15+ seconds spikes compared to the others, it might give some clues.

If you have not found anything from those guidelines, you could contact Coveo support for further troubleshooting.

Hope this helps!

Ask a question