Skip to main content

ATG Search - performance decisions in Enterprise search

Read more about the basic design decisions for a commerce search setup @ http://tips4ufromsony.blogspot.in/2012/03/basic-design-decisions-for-commerce.html

Read more about search engine tuning @ http://tips4ufromsony.blogspot.in/2012/02/atg-search-search-engine-tuning.html

Following items will affect search performance:  number of items to be searched, quantity of content for each item, number of meta tags, number of facets, Search Merchandising settings, constraints, number of returned results,... You could find a detailed analysis below :

1. Decide how many search engines you need : Based on the performance requirement of the ecommerce site, create the Search Project @ BCC - Search Admin and add the search engine hosts. Read more about search project creation and search engine host set up @  http://tips4ufromsony.blogspot.com/2012/01/atg-search-how-to-create-search-project.html.

2. Decide the search indexing properties : Search indexing time and search response time are dependent on the index file size. As part of verification process, the irrelevant attributes from search index definition file should be removed. As a result, users will view relevant results with less number of attributes and also will get improvements in search indexing time.

3. Decide how many search projects you need : If your application is a multi locale application, you could create multiple search project for each locale. This will give you more options for each locale and a separate search engine can support a locale. Read more about search project creation @  http://tips4ufromsony.blogspot.com/2012/01/atg-search-how-to-create-search-project.html.

4. Decide whether you need to do parallel search indexing : If you have multiple search projects, you could do parallel search indexing and improve search indexing performnace.

5. One search engine per box : Search engines should always run on their own machine, with no other applications running.  This is critical for machines responding to search queries to ensure proper and consistent user experience.

6. Indexing engine box : The search engine used for indexing should not be run on the same server as an engine used for query response.  The search engine used for indexing is preferred to be run on its own machine (with no other applications), but can be run on the CA/BCC.  If this is done, the CA machines should be deployed with extra power (CPU speed and cores, RAM) so that indexing does not affect BCC user experience.


Comments

Popular posts from this blog

Search Facets - how to create a new search facets in ATG Search

A Facet is a search refinement element that corresponds to a property of a commerce item type. ATG supports the search result refinement using the Faceted Search concept. Read more about facted search @  http://en.wikipedia.org/wiki/Faceted_search . Facet can either be ranges or specific values. Each facet is stored in the RefinementRepository as a separate refineElement repository item. Facets are divided into Global and Local facets. Global facets apply to all the categories and local facets only to the category in which they are created. For example Price/Brand can be considered as the facets that are common for all skus and New Release/Coming Soon can be considered as the facets that are specific to Physical Media products like Vidoe/DVD/Blue-ray/Books. We can use the ATG BCC - Merchandising UI to create facets. The Faceting Property depends on the meta-properties defined in the \atg\commerce\search\product-catalog-output-config.xml ( the def...

Quick Reference to JAVA Servlets

I am writing these quick reference blogs for those who wants to brushup the ideas of each topic. This one will lead you through the basic concepts of JAVA Servlets. How this quick reference guideline is different from the numerous other docs available ?  ,  please read on to get an idea : Servlet Lifecycle : The container will identify the servlet based on the URL Servlet class loading Servlet instantaition Call init method Create a servlet thread for the current request. Before calling service(), will create the request and response objects Call service method Service method will identify whether to call doGet or doPost and call it Call destroy method Different servlet objects : A sinlge servlet instance per JVM ( except for SingleTheadModel) A sinlge HttpSession per web application ( session activation and passivation) A sinlge ServletContext per JVM A sinlge ServletConfig per servlet A sinlge ServletRequest per servlet request Important Servlet rq...

ATG User Profile schema ER diagram

Check out the Product Catalog  schema ER-Diagram @  http://tips4ufromsony.blogspot.in/2012/01/atg-product-catalog-schema-er-diagram.html Check out the O rder schema ER-Diagram @   http://tips4ufromsony.blogspot.in/2012/02/atg-order-schema-er-diagram.html If you would like to know the relationship between different User Profile schema tables, please find below screen shot of  Profile schema ER Diagrams.  

Eclipse plug-in to create Class and Sequence diagrams

ModelGoon is an Eclipse plug-in avaiable for UML diagram generation from Java code. It can be used to generate Package Dependencies Diagram, Class Diagram, Interaction Diagram and Sequence Diagram. You coud get it from http://marketplace.eclipse.org/content/modelgoon-uml4java Read more about it and see some vedios about how to create the class and sequence diagram @ http://www.modelgoon.org/?tag=eclipse-plugin Find some snapshots below which gives an idea about the diagram generation.

Jsp and CSS size limits that web developers need to aware

Here I am listing some erroneous cases that might occur in your web development phase, due to some size restrictions. JSP file size limit : You might get some run time exceptions that the JSP file size limit exceeds. Please find below the reason : In JVM the size of a single JAVA method is limited to 64kb. When the jsp file is converted to Servlet, if the jspservice method's size exceeds the 64kb limit, this exception will occur. Keep in mind that this exception depends on the implementation of the JSP translator, means the same JSP code may give an exception in Tomcat and may run successfully in Weblogic due to the the difference in the logic to built the Servlet methods from JSP. The best way to omit this issue is by using dynamic include.For example, if you are using                  <%@ include file="sample.jsp" %> (static include),  replace this to               ...