Find out the solutions below to resolve the Endeca Query performance issues.
Following latest patches needs to be applied: -
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
Note: Only a member of this blog may post a comment.