Skip to main content

ATG search installation and search engine log files

Here I would like to explain how your ATG search folder structure looks like after you do the ATG search installation and also about the search engine log files.

To get the ATG search, you need to install the ATGSearch<version>Windows.exe after you do the ATG installation. When you install ATG search, the generated folders include an OS dependant folder. In the below screen shot, you could see the "i686-win32-vc71" folder and this is generated since the ATG search ins installed in a windows machine.


The ATG search engine is actually an exe file inside this "i686-win32-vc71" folder. Below screen shot give you an idea about the "atgsearch.exe", which is the search engine application. This search engine application (atgsearch.exe) is started by a remote launcher call from the BCC search administration UI. 



The log files like "atgsearch_20120106112413_568.log" are the search engine log files where you could see the engine logs like the index file used by the search engine,enigne load ,enigne throughput and query response time,.. You could enable the debug logging for the search engine to find the different request processing by the engine including the ip address of the requesting host. Also the search engine start and end time can be obtained from this log.



The engine log will show slow request based on the <SlowRequestThreshold> parameter in the AEConfig.xml, like <SlowRequestThreshold>5000</SlowRequestThreshold>. If you set engineLogLevel to D in launchingService component, you will be able to see the ip address of  of the requesting host.

                 engineLogLevel = D

Example of the search engine log with requesting host ip:
2011/03/22 11:12:59 : DEBUG : Server : 0 : Accept socket 12068 at port 4790 from IP 100.222.46.124
2011/03/22 11:12:59 : DEBUG : Server : 0 : AEXmlWorker::Shutdown
2011/03/22 11:12:59 : INFO : Server : 0 : Shutdown received
2011/03/22 11:12:59 : DEBUG : Server : 0 : Accept socket 12068 at port 4791 from IP 100.222.46.124
2011/03/22 11:12:59 : INFO : Server : 0 : Waiting for pending requests to complete.
2011/03/22 11:12:59 : INFO : Server : 0 : Exiting engine
2011/03/22 11:12:59 : INFO : Server : 0 : Scheduled shutdown.


Consider the following search engine log :

2011/03/11 09:36:35 : INFO : Server : 0 : load: 0.6875 throughput: 1.72804 q/s time: 6.60434 s

Load  of .6 means that 60% of the search engine thread are active. Throughput is the number of requests that the engine is able to server per second. Time is the average response time.

So load is specified as percentage and 0.6875 is roughly 69 percent of load, where as anything greater then 1 would suggest the search engine is overburden. Throughput is telling us how many requests the engines can handle across all the cores of the engine hosted box. So throughput is kind of like saying how many request can be placed into the bucket. But it doesn't say how fast the objects in the bucket are moving.



Comments

  1. Hi,

    I have a problem with Service Center's search engines, ATGOrder and ATGProfile. Both has a scheduled shutdown at midday and midnight causing searches and live indexing to stop. How can I turn the scheduled shutdown off?

    Thanks in advance and good blog!

    ReplyDelete
  2. you mean search engine for atgorder or for atgcatalogue ? U mean at midnight ur search engine s are going down ? Any scheduled search indexing is configured for the search engine ?

    ReplyDelete

Post a Comment

Popular posts from this blog

ATG CA - BCC home screen : how to add a new link

          Activity source is the property which controls the links on the left nav on the BCC home screen. All activity sources are registered with the ActivityManager component at /atg/bizui/activity/ActivityManager . When rendering the BCC home page, the ActivityManager cycles through all the registered ActivitySource components and displays left navigation links for each of them on the BCC home page. For example if I want to add a new link "My New Link" , below screen shots exaplins how this can be done 1. Add  activityManager.properties to specify the activityresources. In this  activityManager, I specified one MyActivitySource. 2. Add  MyActivitySource.properties  to specify the name of the link and the other details . Here it refers to a bundle properties file.  3. Add  the bundle properties file  to specify the name of the link.  4. Now you could see the new link...

How the ATG Order flow manages a transaction

See more about ATG  Tx management @ http://tips4ufromsony.blogspot.com/2012/05/atg-how-to-use-transaction-manager.html Most of the ATG Commerce form handlers extend atg.commerce.order.purchase.PurchaseProcessFormHandler. The transaction management pattern in order flow is implemented through this form handler’s beforeSet, afterSet, and handler methods. The transaction will be started @ beforeSet method and is ended @ afterSet method. In general, the design pattern for updating an order is as follows: Acquire lock-manager write lock on profile id from the /atg/commerce/order/LocalLockManager Begin Transaction Synchronize on the Order object. Modify Order Call ((OrderImpl) pOrder).updateVersion(); --> atg.commerce.order.InvalidVersionException is thrown based on this Call OrderManager.updateOrder() Release Order synchronization End Transaction Release lock-manager write lock on profile id from the /atg/commerce/order/LocalLockManager     ...

ATG - how to prevent Cross-Site attacks using _dynSessConf parameter

Cross-site scripting attacks take advantage of a vulnerability that enables a malicious site to use your browser to submit form requests to another site. In order to protect forms from cross-site attacks in ATG, you can enable form submissions to automatically supply the request parameter _dynSessConf , which identifies the current session through a randomly generated long number. On submission of a form (using dsp:form tag) or activation of a property setting (using dsp:a tag), the request-handling pipeline ( DAFDropletEventServlet ) validates _dynSessConf  against its session confirmation identifier. If it detects a mismatch or missing number, it can block form processing and return an error. To disable this functionality, we could give the following properties (@ /atg/dynamo/Configuration to disable it globally) enforceSessionConfirmation  = false -->  specifies whether the request-handling pipeline requires session confirmation in order to proc...

Mozilla FireFox - how to add security certificate exception urls

If you visit a web site with a secure connection(https) and if the website's security certificate has some problem like the security certificate presented by the website was not issued by a trusted certificate authority  or  the security certificate has expired or is not yet valid, you will get an error page ( like below in IE ) with an option to continue to this website. When this non secure page is loading, in Internet Explorer, you will get an option to specify whether you need to download the page content files like JS, CSS, Images,... But you will not get such an option in FireFox/Chrome and could see only the text data in this new non secure page. If you are doing some local development with FireFox/Chrome and have such a situation, you might want to override this security restriction. FireFox provides some exception url list in secure certificates menu. Go to Options - Advanced - Encryption - View Certificates and click the exception list and...

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>