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

ATG Product Catalog schema ER diagram

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

How to simulate Browser back button

When someone asks how to simulate a back button, they really mean to ask how to create a link that points to the previously visited page. Most browsers tend to keep a list of which websites the user has visited and in what order they have done so. The DOM window object provides access to the browser's history through the history object. Moving backward and forward through the user's history is done using the   back(), forward(), and go() methods of the  history  object. To move backward through history, just do window.history.back() ; This will act exactly like the user clicked on the Back button in their browser toolbar. Find below a sample html code: <html> <head> <script type="text/javascript"> function goBack(){  window.history.back() } </script> </head> <body>    <input type="button" value="Back" onclick="goBack()" /> </body> </html>

Useful windows shortcut keys

Following are the most useful set of windows shortcut keys that I would like to share with you. run commands calc        -->  Calculator  mspaint   -->  To get Paint textpad   -->  To get Textpad if installed cmd        -->  Opens a new Command Window (cmd.exe)  control    -->  Displays Control Panel  msconfig   -->  Configuration to edit startup files  compmgmt.msc  -->  Computer management  fsmgmt.msc      -->  Folder Sharing Management  services.msc     -->   System Services  appwiz.cpl  --> Add/Remove Programs  ncpa.cpl     -->  Network Connections  %userprofile%  -->  Opens you User's Profile  %temp%  -->  Opens temporary file Folder  temp ...

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               ...

JBoss - how to take thread dumps

Following are the different options in JBoss to take the thread dump. 1. Using JBoss jmx-console :    Got to http://localhost:8080/jmx-console  and search for the mbean " serverInfo " and click on that link. Click the  invoke mbean operation under listThreaddump() method. This will give you the current snapshot of threads which are running in your JBoss jvm. 2. By using twiddle :   In the commnad promt go to <JBOSS-HOME>/bin and run the command  twiddle.bat invoke "jboss.system:type=ServerInfo" listThreadDump > threadDump.html  and you could find the threadDump.html with the JBoss thread dump. 3. Using "Interrupt" signal :  Use kill -3 <process-id> to generate thread dump. You will find the thread dumps in server logs.