Expand my Community achievements bar.

SOLVED

QueryBuilder and Performance for Live Results

Avatar

Level 6

I have created a website search for my entire website, and have used the Query Builder for pagination, the search results page will have pagination, and upon customers clicking on the next page, it will again make a call to my servlet, and again the Query Builder will be called. 

I am querying with full-text search, and all of the properties are indexed, which means faster response from search.

I have close to 300 pages, and when I test my query using the Query Builder Debugger, I so see a response with average around 100ms-500ms.

1. My question here is, will Live Results... like each research result action will again hit my publisher, will it actually cause performance issues on my publishers, say there's 100 users concurrently making searches on my website.

 

2. Now how about 1000 users concurrently making searches on my website?

1 Accepted Solution

Avatar

Correct answer by
Community Advisor

Hello,

Taking this as a broader question.

- It seems we can check Adobe Experience Manager Query Performance Analyzer for query performance. 

- Also make sure in the query we are asking for desired number of results only.

Make sure the properties we are searching for are added to index.

- 100/1000 users and 300 pages most probably may be fine, however the goal can be set for achieving even larger load since this will hit the publishers on each query/search. We can also look at caching the servlet call for limited time if the pages are not going to be frequently changed. For eg: 5-30 minutes. But it will depend on how soon you want the end users to see the change in search results. If its supposed to be instant then this can be avoided/skipped.

 

- We can also consider using solr, see Solved: AEM 6.5 Solr Search - Adobe Experience League Community - 555790


Thanks, hope that helps

 

Shubham

View solution in original post

1 Reply

Avatar

Correct answer by
Community Advisor

Hello,

Taking this as a broader question.

- It seems we can check Adobe Experience Manager Query Performance Analyzer for query performance. 

- Also make sure in the query we are asking for desired number of results only.

Make sure the properties we are searching for are added to index.

- 100/1000 users and 300 pages most probably may be fine, however the goal can be set for achieving even larger load since this will hit the publishers on each query/search. We can also look at caching the servlet call for limited time if the pages are not going to be frequently changed. For eg: 5-30 minutes. But it will depend on how soon you want the end users to see the change in search results. If its supposed to be instant then this can be avoided/skipped.

 

- We can also consider using solr, see Solved: AEM 6.5 Solr Search - Adobe Experience League Community - 555790


Thanks, hope that helps

 

Shubham