Wednesday, March 9, 2016

Endeca Query Performance Tuning for optimal performance

Find out the solutions below to resolve the Endeca Query performance issues . Following latest patches needs to be applied: - Patch 1734267... thumbnail 1 summary
Find out the solutions below to resolve the Endeca Query performance issues.

Following latest patches needs to be applied: -

Patch 17342677 : It reduces the number of supplemental objects that are returned by the queries, which helps performance. This is for ATG 10.1.2 and 10.2  and corresponding Assembler 3.1.1 and 3.1.2.To verify that the patch was correctly installed, make sure the request logs start including the following with the requests: &merchrulefilter=endeca.internal.nonexistent


Verify properties and dimension returned by Endeca query response: -

Properties/Dimension can be set as part of Endeca query fired by cartridge handlers. Cartridge handlers uses /atg/endeca/assembler/cartridge/handler/config/ResultsListConfig.properties from ATG to pass it to Endeca. Endeca would return all properties If fieldNames property is null in mentioned component.


Records Per Aggregate Record set to one

By Default, record per aggregate is set to ALL in ATG and this would bring all records for rolled up records including representative record.


Verify if Preview is not enabled in Production

/dyn/admin/nucleus/atg/endeca/assembler/cartridge/manager/AssemblerSettings: Verify if previewEnabled = false for production environment. Setting this to true will return back lots of merchandized rule data with the results. You can confirm this by looking at the Dgraph.reqlog, and looking for merchdebug=true in the queries.


Use Endeca user segments in multisite environment.

Content include cartridge makes a blanket query to endeca to fetch all possible rules from dgraph for given navigation state. This query would be find out in request log
/graph?node=0&profiles=site.<<site_name>>&offset=0&nbins=0&irversion=640.
Use site user segment always to get unwanted content as part of above query and this increases the response size.


Don't expose all dimensions

Never use ENEQuery.setNavAllRefinements(true). Using true would be very expensive in terms of response time and size too. Use UrlENEQuery.setNe() and pass in a string like "123+234+532".
Looking through .reqlog, if you see &allgroups=1, that means somewhere someone has setNavAllRefinements(true).


Click here to view Dgraph Performance Tuning


From Author
Was this post resolve the Endeca Performance issue? what do you think, making above steps may resolve most of the issues? Provide your comments

No comments

Post a Comment

Text Widget