Skip to main content

ATG Search - search engine tuning settings

In this blog, I am going to list the best tuning settings for ATG Search engine.

The AESoapConfig.xml, AESoapWaspConfig.xml  and AEConfig.xml are the xmls referred below and you can find it @  <ATG_DIR>\<Searchx.x>\SearchEngine\<operating_system>\bin\ folder.

(1)  Make sure that the AESoapConfig.xml's rwTimeout is less than or equal to routing's readTimeoutMs. You could find the routing's readTimeoutMs @ atg\search\routing\SearchEngineService component.

              rwTimeout is the  length of time in seconds to wait before a read or write operation times out on an active connection. The number can be decreased to improve performance. However, a value that is too low could cause slow connections to be prematurely closed.

(2)  Adjust the number of engine threads to match the number of CPUs available to the engine. Note that the minimal value for maxThreads and maxSpareThreads is 2, which applies to running with 1 CPU.  However, it is recommended to run with more than one CPU.
      a) Set MaxThreads in AEConfig.xml to number of CPU's
      b) Set maxSpareThreads in AESoapWaspConfig.xml to number of CPU's

             maxThreads is the number of requests you can process simultaneously, and this generally should be the number of CPU's available to the engine. If this is higher than the CPUs, the engine will bog down, with slower response times.
             maxSpareThreads is the number of  worker threads to process requests simultaneously, generally this should be the same as MaxThreads.

(3)  Disable the the keep-alive/connection reuse setting
       a) Set reuseCount=0
   
            reuseCount is the number of requests that may be accepted using the same connection. The number can be increased to reduce the frequency of opening new connections and improve performance. However, a value that is too high could prevent new connections from being accepted. A value of 0 disables connection reuse. This applies to HTTP 1.1 only.

Comments

Popular posts from this blog

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.

ATG - basic concepts of ATG

This blog is for the ATG beginners to get some basic overview about ATG. I just given the ATG concepts as a list of numbered points for the ease of understanding. 1. At the framework level, ATG is a               java based application platform for hosting web-based applications, as well as RMI accessible business components,               with an ORM layer,               a component container,               an MVC framework,               and a set of tag libraries for JSP. 2. Art Technology Group(ATG)'s Dynamo Application Server (DAS) is a Java EE compliant application server. DAS is no longer actively developed as ATG recommends using other Java EE applications servers for its products such as BEA WebLogic, JBoss or IBM WebSphere. 3. Prior to ATG 2007, JHTML was used instead of JSP for view purpose. J...

Basic design decisions for a commerce search setup ( with an ATG Search view)

In this blog I would like to explain the basic set of configuration/design decisions needed to setup an ATG search project. Most of these design decisions are common for all Enterprise search applications. 1. Decide the searchable properties :   This means the properties that the business want the user to search in the ecommerce platform. In ATG search these are configured as the text properties in the product-catalog-output-config.xml ( the definitionFile of the \atg\commerce\search\ProductCatalogOutputConfig). Usually the displayName of product/sku, displayName of department/category/sub-category, skuId, brandName are the properties configured as searchable. 2. Decide the search refinement properties or the faceted properties :   After a user search for a keyword, search refinement is the next step done to filter his results. ATG supports the search refinement using the Faceted Search concept. Read more about facted search @...

ATG - quick reference to commonly used DSP Tags

In this blog, I would like to give a quick reference to the most commonly used DSP Tags.Note that in this DSP tag details : bean refers to a Nucleus path, component name, and property name param refers to a Page parameter value refers to a Static-value var refers to a EL variable id refers to a scripting variable ============================================================== 1.dsp:importbean     example: <dsp:importbean bean="/atg/dynamo/droplet/Switch"/> ============================================================== 2.dsp:page     usage: It encloses a JSP. The dsp:page invokes the JSP handler, which calls the servlet pipeline and generates HTTPServletRequest.    example:    <dsp:page> ..... </dsp:page> ============================================================== 3.dsp:include     usage: Embeds a page fragment in a JSP.     example:   <dsp:include src="/myPage/Result...

JBOSS How to change the default HTTP port 8080

To change the default HTTP port 8080, you need to edit the “jboss-service.xml” (<jboss>\server\<application>\conf\jboss-service.xml). In your “jboss-service.xml” ,search for the mbean ServiceBindingManager. It will be commented by default. You can uncomment it. It is referring to a sample xml port binding file in the example folder ( ${jboss.home.url}/docs/examples/binding-manager/sample-bindings.xml ). You can either use this xml or copy it to another location and give that path in your “jboss-service.xml”. In the sample-bindings.xml,  search for the <server name=”ports-01?> ( as given in your “jboss-service.xml” ) . In this “server name” , search for the “service-config” with <delegate-config portName=”URLPort”/> for the “type=HTTP” and change the port to <binding port=”8180?/> to use 8180 instead of 8080.