How can users troubleshoot performance in Siebel EAI ?
Solution
The following steps can be used to debug and increase EAI Siebel Adapter performance related issues:
1. To improve the performance of integration objects:
1. To improve the performance of integration objects:
- Select only the desired Business Components to create Integration Object, as it will help to reduce the amount of work done by the EAI Siebel Adapter for each operation.
- Inactivate all unnecessary fields and components in integration objects.
- Re-examine any fields in the underlying business component that are
force-active. Such fields are processed during integration even if they are not
included in the integration component. Please consider removing the
force-active specification from such fields, unless absolutely needed.
2. QueryPage is another performance feature.
The QueryPage method returns a subset of records for a query request, as specified by the PageSize and the StartRowNum method arguments. Use additional parameters such as SearchSpec, SortSpec, and ViewMode respectively to modify the SearchSpecification, SortSpecification and visibility mode used by the method.
Use the QueryPage method to limit the number of the records returned by the query to improve performance. Even though the QueryPage returns a limited number of records, it keeps all the data in the cache, which can then be retrieved by calling the EAI Siebel Adapter with the same PageSize, SearchSpecification, and SortSpecification and Visibility mode.
3. If this behavior can be reproduced, users can also enable EAI Siebel Adapter performance component events to determine which specific operations are slow.
To set tracing on the dedicated Client: -
The QueryPage method returns a subset of records for a query request, as specified by the PageSize and the StartRowNum method arguments. Use additional parameters such as SearchSpec, SortSpec, and ViewMode respectively to modify the SearchSpecification, SortSpecification and visibility mode used by the method.
Use the QueryPage method to limit the number of the records returned by the query to improve performance. Even though the QueryPage returns a limited number of records, it keeps all the data in the cache, which can then be retrieved by calling the EAI Siebel Adapter with the same PageSize, SearchSpecification, and SortSpecification and Visibility mode.
3. If this behavior can be reproduced, users can also enable EAI Siebel Adapter performance component events to determine which specific operations are slow.
To set tracing on the dedicated Client: -
a. Set the SIEBEL_LOG_EVENTS environment variable:
set SIEBEL_LOG_EVENTS=detail
OR only related events to Siebel Adapter can be set as follows: -
set SIEBEL_LOG_EVENTS=EAISiebelWizard=5,EAISiebAdptSvcArgTrc=5,EAISiebAdpt=2,
GenericLog=5,EAISiebAdptPerf=3,SqlParseandExecute=3
Set SIEBEL_LOG_DIR=d:\sea80\client\log (or any directory of your choice)
b. Run the application from command prompt:
c:\sea\bin\siebel.exe /c siebel.cfg /d server /u sadmin /p sadmin /s sql.out
4. If the zero-foot print client or thin client is used, enable component event tracing on the object manager being used. For example, if testing using the Call Center Object Manager, enable tracing for the Call Center Object manager (SCCObjMgr_enu). If testing with HTTP inbound request, enable tracing for the EAI Object Manager:
a. Navigate to Site Administration > Administration - Server Configuration > Servers
b. In the "Components" applet, select the relevant server component.
c. In the lower applet, select "Events" and set the following component events to 4:
- EAI Siebel Adapter
- EAI Siebel Adapter Performance
- EAI Transport Performance
- General Event
- Performance Event
- SQL Parse and Execute
- Workflow Performance
OR Set the component events tracing in Command line (srvrmgr).
For each one of these events, run the following command and specify the event:
Change evtloglvl =4 for comp
Example: - Change evtloglvl EAISiebAdpt = 4 for comp sccobjmgr_enu
Here are the events' aliases:
- EAISiebAdpt
- EAISiebAdptPerf
- EAITransportPerf
- GenericLog
- Performance
- SQLParseAndExecute
- WfPerf.
Note: the events to be trace will be different depending upon which step needs to be traced.
Also
note that setting the logging at level 4 or 5 can have significant
performance overhead itself. So, it should be used only after a
performance problem has been identified, and the minimum amount
necessary to reproduce the problem. For example, if tracking a
performance problem, skip the other events (such as Workflow Step). To
get the SQL, avoid using both SQLParseAndExecute and ObjMgrSQLLog as
that duplicates the amount of SQL being logged.
Other performance events that may be helpful depending on the EAI implementation:
- EAIOrclRcvr - EAI Oracle Receiver Performance Event
- EAISAPIdocAdpt - EAI SAP IDOC Adapter Performance Events
- EAISqlAdpt - Performance Statistics Event Types for the SQL Adapter
- WebSvcPerf - Web Service Performance Event Type
5. Interpreting the data with performance events.
The EAISiebAdptPerf and EAITransportPerf can provide more information for about the transport performance.
Below is example that demonstrates how to interpret the results.5. All times are in milliseconds,
The EAISiebAdptPerf and EAITransportPerf can provide more information for about the transport performance.
Below is example that demonstrates how to interpret the results.5. All times are in milliseconds,
Example 1:
EAISiebAdptPerf EAISiebAdptPerfStat 3 2002-10-11 15:41:31 Perf Account|UpdateRecord|1|1
The way to read this output is: Business Component| Operation| number of record processed during this Siebel Adapter invocation| number of milliseconds this Siebel Adapter invocation processing took (gross number, including any waiting time).
So for above example Account Business Component is been updated and it took 1 millisecond to process 1 records.
The way to read this output is: Business Component| Operation| number of record processed during this Siebel Adapter invocation| number of milliseconds this Siebel Adapter invocation processing took (gross number, including any waiting time).
So for above example Account Business Component is been updated and it took 1 millisecond to process 1 records.
Example 2:
EAISiebAdptPerf EAISiebAdptPerfStat 3 2002-10-11 15:41:31 Perf Account|Execute|1|17In the above example, executing a query on Account Business Component and it took 17ms to retrieve 1 record.
Example 3:
EAISiebAdptPerf EAISiebAdptPerfStat 3 2002-10-11 15:41:31 Perf Action|NewRecord|1|75In this example, it took 75 milliseconds to create one new record for Perf Action.
Example 4:
WfPerf Proc 4 2002-10-11 15:41:31 ProcessName|NumProcessed|TotalTimeForProcessWfPerf Proc 4 2002-10-11 15:41:31 Perf EAI MQReceive Process|1|189
These two lines together indicate the amount of time it took to run a workflow process. The workflow process name is "Perf EAI MQReceive Process" and it took it 189 milliseconds to run the entire process.
Example 5:
EAITransportPerf EAITransportPerf 5 2002-10-11 15:41:31 Dispatched Request successfully|191EAITransportPerf EAITransportPerf 5 2002-10-11 15:41:31 Committed Siebel Transaction|0
EAITransportPerf EAITransportPerf 5 2002-10-11 15:41:31 Sent Response|38
These three lines above record the amount of time the transport layer (MQSeries Transport in this example) took to dispatch the workflow process, commit the transaction and send the response to another queue.
6. Refer to Bookshelf > Siebel Performance Tuning Guide > Tuning Siebel EAI for Performance for further information.
Related Posts
No comments :