How can I tune my EIM batches to improve performance?
Here are some options that can be tried to improve Enterprise Integration Manager (EIM) performance:
Check to make sure all the standard indices are in existence for the tables involved.
Limit tables and columns to be processed using ONLY BASE TABLES/COLUMNS configuration parameters to minimize the work that EIM has to perform.
Consider switching off Siebel transaction logging during the EIM run. This will definitely improve performance; however, it must be balanced with the need for mobile users to re-extract afterwards.
Try different batch sizes. Often, large batch sizes are not the most efficient. Siebel Systems recommends that customers use a batch size no more than 5000 rows, preferably less than 2000 rows in a single batch.
Try using batch ranges (BATCH = x-y). This allows users to run with smaller batch sizes and yet avoid the startup overhead on each batch.
Perform regular table maintenance on interface tables. Frequent insert or delete operations on interface tables can cause fragmentation in the table. The database administrator will know how to detect and correct fragmentation in the EIM interface tables.
Delete batches from interface tables on completion. Leaving old batches in the EIM interface table will waste space and could adversely affect performance.
Run independent EIM jobs in parallel. EIM jobs that have no interface or base tables in common can be run in parallel.
Set the USING SYNONYMS parameter to false in the .IFB file to indicate to EIM that account synonyms do not need to be checked.
Avoid using the UPDATE PRIMARY KEYS parameter in the IFB file.
ORACLE INSERT APPEND MODE. The default value is FALSE, which means EIM does not use use append mode for insert at EIM process step 9, avoiding a deadlock when running parallel EIM processes. If you need to improve step 9 performance, you can set the value to TRUE. *
Delete and Merge performance is improved if you create some specific temporary indices first. Please refer to Siebel Enterprise Integration Manager Administration Guide, Version 7.5, Creating Temporary Indexes for more details *
If using Oracle database, ensure that Oracle rule-based optimizer is used. Siebel Systems has highly recommended the Oracle rule-based optimizer because it provides the consistent behavior needed for effective performance tuning.
If all else fails, set "Trace Flags"=1 and "SQL Trace Flags"=8 and rerun the batch. The resulting task log will identify slow running steps and queries.
For Siebel eBusiness Application Version 7, this is documented in the Bookshelf: Siebel Enterprise Integration Manager Administration Guide > Frequently Asked Questions > Performance Questions.
For Siebel eBusiness Application Version 6, this is documented in the Bookshelf: Siebel Enterprise Integration Manager Administration Guide > Advanced Usage > Questions and Answers > Q. How can I tune my EIM batches to improve performance?
- Valid only for version 7.5.x
Readers who viewed this page, also viewed:
- Uninstalling the Siebel 8 patch from local client and tools (53.3%)
- Installing Patch in Siebel 8 - Client using Opatch Utility (53.3%)
- Oracle's Siebel CRM is in the Leaders Quadrant and Oracle Fusion Sales in the Visionaries Quadrant of Gartner 2012 report (46.7%)
- How to Troubleshoot Database Errors Caused by Deleting Repositories using Siebel Tools (46.7%)
- Server Sizing for Siebel Analytics - OBIEE (46.7%)
- Siebel Server Component Event Logging (46.7%)
- OBIEE Interview Questions and Answers FAQ (40.0%)
- Tracing Siebel server task with SQL Trace and TKPROF in Oracle (40.0%)
- What to expect from Open UI for Siebel CRM (40.0%)
- Determining the Siebel User id using the Oracle process id to find who is running the longrunning SQLs (40.0%)