Beruflich Dokumente
Kultur Dokumente
Once you determine the location of a performance bottleneck, you can eliminate the
bottleneck by following these guidelines:
If you tune all the bottlenecks above, you can further optimize session performance by
increasing the number of pipeline partitions in the session. Adding partitions can improve
performance by utilizing more of the system hardware while processing the session.
Performance bottlenecks can occur in the source and target databases, the mapping, the
session, and the system.
You can identify performance bottlenecks by running test sessions, viewing performance
details, and using system monitoring tools.
You can identify target bottlenecks by configuring the session to write to a flat file target.
If the session performance increases significantly when you write to a flat file, you have a
target bottleneck.
If your session already writes to a flat file target, you probably do not have a target
bottleneck.
Causes for a target bottleneck may include small check point intervals, small database
network packet size, or problems during heavy loading operations.
1
GE Confidential
2. Identifying Source Bottlenecks
Performance bottlenecks can occur when the Informatica Server reads from a source
database. 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.
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.
You can identify mapping bottlenecks by using a Filter transformation in the mapping.
You can also identify mapping bottlenecks by using performance details. High errorrows
and rowsinlookupcache counters indicate a mapping bottleneck.
If you determine that you do not have a source bottleneck, you can add a Filter
transformation in the mapping before each target definition. Set the filter condition to
false so that no data is loaded into the target tables. If the time it takes to run the new
session is the same as the original session, you have a mapping bottleneck.
Multiple lookups can slow down the session. You might improve session performance by
locating the largest lookup tables and tuning those lookup expressions.
Transformation errors impact session performance. If a session has large numbers in any
of the Transformation_errorrows counters, you might improve performance by
eliminating the errors.
You can identify a session bottleneck by using the performance details. The Informatica
Server creates performance details when you enable Collect Performance Data in the
Performance settings on the Properties tab of the session properties.
Performance details display information about each Source Qualifier, target definition,
and individual transformation. All transformations have some basic counters that indicate
the number of input rows, output rows, and error rows.
Any value other than zero in the readfromdisk and writetodisk counters for Aggregator,
Joiner, or Rank transformations indicate a session bottleneck. Low
BufferInput_efficiency and BufferOutput_efficiency counter values also indicate a
session bottleneck.
Small cache size, low buffer memory, and small commit intervals can cause session
bottlenecks.
2
GE Confidential
Aggregator, Rank, and Joiner Readfromdisk and Writetodisk Counters
If these counters display any number other than zero, you can improve session
performance by increasing the index and data cache sizes.
To view the session performance details while the session runs, right-click the session in
the Workflow Monitor and choose Properties. Click the Properties tab in the details
dialog box.
If the BufferInput_efficiency and the BufferOutput_efficiency counters are low for all
sources and targets, increasing the session DTM buffer pool size may improve
performance.
Under certain circumstances, tuning the buffer block size may also improve session
performance.
You can identify system bottlenecks by using system tools to monitor CPU usage,
memory usage, and paging.
On Windows, you can use system tools in the Task Manager or Administrative Tools.
On Windows, you can view the Performance and Processes tab in the Task Manager (use
Ctrl-Alt-Del and choose Task Manager). The Performance tab in the Task Manager
provides a quick look at CPU usage and total memory used. You can view more detailed
performance information by using the Performance Monitor on Windows (use Start-
Programs-Administrative Tools and choose Performance Monitor).
3
GE Confidential
Optimizing the Target Database
If your session writes to a flat file target, you can optimize session performance by
writing to a flat file target that is local to the Informatica Server. If your session writes to
a relational target, consider performing the following tasks to increase performance:
If you decide to drop and rebuild indexes and key constraints on a regular basis, you can
create pre- and post-load stored procedures to perform these operations each time you run
the session.
The Informatica Server performance slows each time it waits for the database to perform
a checkpoint. To increase performance, consider increasing the database checkpoint
interval.
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.
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.
You can increase the network packet size in the Informatica Workflow Manager to reduce
target bottleneck. For Oracle, increase the network packet size in tnsnames.ora and
listener.ora. 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.
4
GE Confidential
If your target database is Oracle, you can optimize the target database by checking the
storage clause, space allocation, and rollback segments.
If your session reads from a flat file source, you can improve session performance by
setting the number of bytes the Informatica Server reads per line. By default, the
Informatica Server reads 1024 bytes per line. If each line in the source file is less than the
default setting, you can decrease the Line Sequential Buffer Length setting in the session
properties.
If your session reads from a relational source, review the following suggestions for
improving performance:
5
GE Confidential