100% found this document useful (1 vote)
835 views5 pages

Performance Tuning

The goal of performance tuning is to optimize session performance by eliminating bottlenecks. Bottlenecks can occur in the source and target databases, mappings, sessions, and system. To identify bottlenecks, use performance details, test sessions, and monitoring tools. Once identified, bottlenecks can be eliminated by optimizing databases, mappings, sessions, and system resources. Further optimization includes increasing pipeline partitions and tuning buffer sizes and cache.

Uploaded by

api-3716519
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd
100% found this document useful (1 vote)
835 views5 pages

Performance Tuning

The goal of performance tuning is to optimize session performance by eliminating bottlenecks. Bottlenecks can occur in the source and target databases, mappings, sessions, and system. To identify bottlenecks, use performance details, test sessions, and monitoring tools. Once identified, bottlenecks can be eliminated by optimizing databases, mappings, sessions, and system resources. Further optimization includes increasing pipeline partitions and tuning buffer sizes and cache.

Uploaded by

api-3716519
Copyright
© Attribution Non-Commercial (BY-NC)
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as DOC, PDF, TXT or read online on Scribd

Performance Tuning

The goal of performance tuning is to optimize session performance by eliminating


performance bottlenecks. The most common performance bottleneck occurs when the
Informatica Server writes to a target database.

Once you determine the location of a performance bottleneck, you can eliminate the
bottleneck by following these guidelines:

• Eliminate source and target database bottlenecks. Have the database


administrator optimize database performance by optimizing the query, increasing
the database network packet size, or configuring index and key constraints.
• Eliminate mapping bottlenecks. Fine tune the pipeline logic and transformation
settings and options in mappings to eliminate mapping bottlenecks.
• Eliminate session bottlenecks. You can optimize the session strategy and use
performance details to help tune session configuration.
• Eliminate system bottlenecks. Have the system administrator analyze
information from system monitoring tools and improve CPU and network
performance.

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.

1. Identifying Target Bottlenecks

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.

3. Identifying Mapping 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.

4. Identifying a Session Bottleneck

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 a session contains Aggregator, Rank, or Joiner transformations, examine each


Transformation_readfromdisk and Transformation_writetodisk counter.

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.

Source and Target BufferInput_efficiency and BufferOutput_efficiency Counters

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.

5. Identifying a System Bottleneck

You can identify system bottlenecks by using system tools to monitor CPU usage,
memory usage, and paging.

The Informatica Server uses system resources to process transformation, session


execution, and reading and writing data. The Informatica Server also uses system
memory for other data such as aggregate, joiner, rank, and cached lookup tables. You can
use system performance monitoring tools to monitor the amount of system resources the
Informatica Server uses and identify system bottlenecks.

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).

1. Percent processor time 2. Pages/second 3. Physical disks percent time

4. Physical disks queue length 5. Server total bytes per second

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:

• Drop indexes and key constraints.

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.

Note: To optimize performance, use constraint-based loading only if necessary.

• Increase checkpoint intervals.

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.

• Use bulk loading.

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.

• Use external loading.

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.

• Increase database network packet size.

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.

• Optimize Oracle target databases.

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.

Optimizing the Source Database

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:

• Optimize the query.


• Create tempdb as in-memory database.
• Use conditional filters.
• Increase database network packet size.
• Connect to Oracle databases using IPC protocol.

5
GE Confidential

Common questions

Powered by AI

Increasing the number of pipeline partitions in Informatica utilizes additional system hardware resources, which can enhance session performance by allowing parallel processing of data. However, considerations must include the capability of the system hardware to handle increased load, potential for data skew across partitions, and ensuring that all partitions have equivalent access to necessary resources. Moreover, administrators should ensure that database structures, like target tables, are optimized to handle parallel data input .

System bottlenecks in Informatica can be identified using tools like Windows Task Manager and Performance Monitor. The Task Manager provides a quick overview of CPU usage and memory, while Performance Monitor offers detailed insights such as percent processor time, memory paging, physical disk usage, and network throughput. Analyzing these metrics allows administrators to detect and rectify issues like memory constraints, CPU overload, or disk inefficiencies, thereby improving the performance of the Informatica Server .

To eliminate source and target database bottlenecks during Informatica session performance tuning, administrators can optimize database performance by refining query efficiency, increasing the database network packet size, and configuring index and key constraints effectively. For instance, increasing checkpoint intervals can help reduce delays caused by frequent database checkpoints, while bulk loading can bypass database logs to speed up sessions (though it sacrifices recovery capability). For Oracle databases specifically, optimization may include checking storage clauses and space allocation .

Writing to a flat file target can pose challenges due to I/O limitations and potential inefficiencies in handling large volumes of data. Performance can be optimized by ensuring the file system is local to the Informatica Server, which reduces latency and improves read/write speeds. Additionally, tuning the number of bytes per read line and leveraging parallel processing capabilities can further improve session performance when dealing with flat file targets .

Mapping bottlenecks can be identified by using a Filter transformation that prevents data from being loaded and comparing session times. If the execution time remains constant, it indicates a mapping bottleneck. Mitigation strategies include fine-tuning the pipeline logic, optimizing transformation settings, and reducing transformation errors. Addressing large lookup tables by tuning lookup expressions and managing multiple lookups can significantly enhance session performance .

The Oracle IPC (Inter-Process Communication) protocol can improve session performance for database reads by providing a more direct communication link between the Informatica Server and Oracle databases, reducing network overhead compared to traditional protocols like TCP/IP. This direct approach minimizes latency and improves data transfer speeds, especially in environments where network bandwidth is a constraint. Ensuring proper configuration of this protocol is essential to realizing performance improvements .

Session bottlenecks can be identified through performance details generated by enabling 'Collect Performance Data' in session settings. Metrics such as Transformation_readfromdisk and Transformation_writetodisk counters should be monitored. Values other than zero in these counters for transformations like Aggregator, Joiner, and Rank indicate bottlenecks. Additionally, low BufferInput_efficiency and BufferOutput_efficiency counter values suggest session inefficiencies due to small cache size or low buffer memory .

Using bulk loading in Informatica accelerates data transfer by bypassing the database log, which enhances performance but prevents rollback and recovery operations if the session fails. To mitigate these drawbacks, it is crucial to evaluate the trade-off between improved session speed and recovery capability to decide when bulk loading is appropriate. Implementing comprehensive error-checking and handling mechanisms can also help manage potential data integrity issues due to the inability to roll back incomplete transactions .

External loading enhances performance by allowing methods such as Oracle's SQL*Loader utility to be used for bulk loading of data files, bypassing regular processing bottlenecks. This technique is particularly effective when paired with matching the number of pipeline and Oracle table partitions. Precautions include carefully managing data integrity since direct loading bypasses error checking offered by conventional methods, thereby necessitating thorough pre-validation of data .

Database checkpoint intervals play a critical role in determining how often data consistency points are written to the database, impacting session performance. During Informatica tuning, optimizing these intervals is crucial as frequent checkpoints can significantly slow down performance. Increasing checkpoint interval time reduces the frequency of database logging operations, thus enhancing throughput and reducing latency times during high-volume data transfers .

You might also like