Performance Tuning: Identifying Performance Bottleneck Taking Corrective Actions
Performance Tuning: Identifying Performance Bottleneck Taking Corrective Actions
• Target
• Source
• Mapping
• Session
• System
When bulk loading, the Informatica Server bypasses the database log, which speeds
performance. Without writing to the database log, however, the target database
cannot perform rollback. As a result, you may not be able to perform recovery.
Therefore, you must weigh the importance of improved session performance against
the ability to recover an incomplete session.
Database Target Optimization
• Use external loading :
A) DB2 : If you have a DB2 EE or DB2 EEE target database, you can use the DB2
EE or DB2 EEE external loaders to bulk load target files.
B) Teradata : If you have a Teradata target database, you can use the Teradata
external loader utility to bulk load target files.
C) Oracle : If your target database runs on Oracle, you can use the Oracle
SQL*Loader utility to bulk load target files. When you load data to an
Oracle database using a pipeline with multiple partitions, you can increase
performance if you create the Oracle target table with the same number of
partitions you use for the pipeline.
D) Sybase : If your target database runs on Sybase IQ, you can use the Sybase IQ
external loader utility to bulk load target files
Database Target Optimization
• Increase database network packet size :
You can increase the network packet size in the Informatica Workflow Manager to
reduce target bottleneck. If you increase the network packet size in the Informatica
Server configuration, you also need to configure the database server network
memory to accept larger packet sizes.
Database Target Optimization
Optimize Oracle target databases :
Take the help of Oracle DBA.
Identifying Source Bottlenecks
Sources can be :
A) Flat File : If your session reads from a flat file source, you probably do not have a
source bottleneck. You can improve session performance by setting the
number of bytes the Informatica Server reads per line if you read from a
flat file source.
B) Relational Source : If the session reads from relational source, you can use a filter
transformation, a read test mapping, or a database query to
identify source bottlenecks.
Identifying Source Bottlenecks
Relational Source :
A) Using a Filter Transformation : Add a filter transformation in the mapping after each
source qualifier. Set the filter condition to false so
that no data is processed past the filter
transformation. If the time it takes to run the new
session remains about the same, then you have a
source bottleneck.
B) Using a Read Test Session :
1) Make a copy of the original mapping.
2) In the copied mapping, keep only the sources,
source qualifiers, and any custom joins or queries.
3) Remove all transformations.
4) Connect the source qualifiers to a file target.
Use the read test mapping in a test session. If the test session
performance is similar to the original session, you have a source
bottleneck.
C) Using a Database Query : Check execution path of read query against database using
utilities like explain plan to identify source bottleneck.
Optimizing Source Database
Relational Source :
A) Optimize the query : Check the execution path of the query (using explain plan) and
take necessary optimization steps like creation of index and giving
optimizing hints.
B) Use conditional filters : Instead of using filters on non-indexed table columns (on database
side), use Informatica’s filter transformation. You can test your session
with both the database filter and the PowerCenter/PowerMart filter to
determine which method improves performance.
C) Increase database network packet size :
You can improve the performance of a source database by increasing
the
network packet size, allowing larger packets of data to cross the
network
at one time. To do this you must complete the following tasks:
• Increase the database server network packet size.
• Change the packet size in the Workflow Manager database
connection to reflect the database server packet size.
Identifying Mapping Bottlenecks
After identifying that the bottleneck is neither source nor target, introduce a filter just
before each of the targets and set the filter property to false to ensure that no rows
are loaded. If the mapping is still taking almost the same time as earlier then the
mapping is the bottleneck for performance.
You can also perform the following tasks to optimize the mapping:
• Configure single-pass reading.
• Optimize datatype conversions.
• Eliminate transformation errors.
• Optimize transformations.
• Optimize expressions.
Optimizing the Mapping
Configuring Single-Pass Reading :
Single-pass reading allows you to populate multiple targets with one source qualifier.