________________________________________________________________________ Trainer: Jagan Byri, Course : Informatica.

LearnersParadise Confidential ________________________________________________________________________
Performance Tuning Overview

The goal of performance tuning is to optimize session performance by eliminating performance bottlenecks. To tune the performance of a session, first you identify a performance bottleneck, eliminate it, and then identify the next performance bottleneck until you are satisfied with the session performance. You can use the test load option to run sessions when you tune session performance. The most common performance bottleneck occurs when the Informatica Server writes to a target database. You can identify performance bottlenecks by the following methods:
• •

Running test sessions. You can configure a test session to read from a flat file source or to write to a flat file target to identify source and target bottlenecks. Studying performance details. You can create a set of information called performance details to identify session bottlenecks. Performance details provide information such as buffer input and output efficiency. Monitoring system performance. You can use system monitoring tools to view percent CPU usage, I/O waits, and paging to identify system bottlenecks.

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.

_______________________________________________________________________ LearnersParadise.com – Online Training with ‘Live’ trainer. 2900 Gordon Avenue, Suite# 100-24, Santa Clara, CA USA 95051
Disclaimer: LearnersParadise is only distributor of the document. The content of the document is solely responsibility of the author.

________________________________________________________________________ Trainer: Jagan Byri, Course : Informatica. LearnersParadise Confidential ________________________________________________________________________ If you tune all the bottlenecks above, you can further optimize session performance by partitioning the session. Adding partitions can improve performance by utilizing more of the system hardware while processing the session. Because determining the best way to improve performance can be complex, change only one variable at a time, and time the session both before and after the change. If session performance does not improve, you might want to return to your original configurations.

Identifying the Performance Bottleneck

The first step in performance tuning is to identify the performance bottleneck. Performance bottlenecks can occur in the source and target databases, the mapping, the session, and the system. Generally, you should look for performance bottlenecks in the following order: 1. 2. 3. 4. 5. Target Source Mapping Session System

You can identify performance bottlenecks by running test sessions, viewing performance details, and using system monitoring tools.
Identifying Target Bottlenecks

The most common performance bottleneck occurs when the Informatica Server writes to a target database. 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.

_______________________________________________________________________ LearnersParadise.com – Online Training with ‘Live’ trainer. 2900 Gordon Avenue, Suite# 100-24, Santa Clara, CA USA 95051
Disclaimer: LearnersParadise is only distributor of the document. The content of the document is solely responsibility of the author.

________________________________________________________________________ Trainer: Jagan Byri, Course : Informatica. LearnersParadise Confidential ________________________________________________________________________ If your session already writes to a flat file target, you probably do not have a target bottleneck. You can optimize session performance by writing to a flat file target local to the Informatica Server. Causes for a target bottleneck may include small check point intervals, small database network packet size, or problems during heavy loading operations.
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.
Using a Filter Transformation

You can use a filter transformation in the mapping to measure the time it takes to read source data. 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.
Using a Read Test Session

You can create a read test mapping to identify source bottlenecks. A read test mapping isolates the read query by removing the transformation in the mapping. Use the following steps to create a read test mapping: 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. _______________________________________________________________________ LearnersParadise.com – Online Training with ‘Live’ trainer. 2900 Gordon Avenue, Suite# 100-24, Santa Clara, CA USA 95051
Disclaimer: LearnersParadise is only distributor of the document. The content of the document is solely responsibility of the author.

________________________________________________________________________ Trainer: Jagan Byri, Course : Informatica. LearnersParadise Confidential ________________________________________________________________________ 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.
Using a Database Query

You can identify source bottlenecks by executing the read query directly against the source database. Copy the read query directly from the session log. Execute the query against the source database with a query tool such as isql. On Windows NT/2000, you can load the result of the query in a file. On UNIX systems, you can load the result of the query in /dev/null. Measure the query execution time and the time it takes for the query to return the first row. If there is a long delay between the two time measurements, you can use an optimizer hint to eliminate the source bottleneck. Causes for a source bottleneck may include an inefficient query or small database network packet sizes.
Identifying Mapping Bottlenecks

If you determine that you do not have a source or target bottleneck, you might have a mapping bottleneck. You can identify mapping bottlenecks by using a Filter transformation in the mapping. 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. You can also identify mapping bottlenecks by using performance details. High error rows and rows in lookup cache counters indicate a mapping bottleneck.

_______________________________________________________________________ LearnersParadise.com – Online Training with ‘Live’ trainer. 2900 Gordon Avenue, Suite# 100-24, Santa Clara, CA USA 95051
Disclaimer: LearnersParadise is only distributor of the document. The content of the document is solely responsibility of the author.

Suite# 100-24. If these counters display any number other than zero. Any value other than zero in the read from disk and write to disk counters for Aggregator. Identifying a Session Bottleneck If you do not have a source. Low Buffer Input efficiency and Buffer Output efficiency counter values also indicate a session bottleneck. and individual transformation. . and Joiner Read from disk and Write to disk Counters If a session contains Aggregator. LearnersParadise Confidential ________________________________________________________________________ High Rows in lookup cache Counters Multiple lookups can slow down the session. or Rank transformations indicate a session bottleneck. target. output rows. and error rows. 2900 Gordon Avenue. or mapping bottleneck. You might improve session performance by locating the largest lookup tables and tuning those lookup expressions. Course : Informatica. You can identify a session bottleneck by using the performance details. you can improve session performance by increasing the index and data cache sizes. or Joiner transformations. The Informatica Server uses _______________________________________________________________________ LearnersParadise. All transformations have some basic counters that indicate the number of input rows. target definition. High Error rows Counters Transformation errors impact session performance.com – Online Training with ‘Live’ trainer. Rank.________________________________________________________________________ Trainer: Jagan Byri. you may have a session bottleneck. The Informatica Server creates performance details when you enable Collect Performance Data on the General tab of the session properties. and small commit intervals can cause session bottlenecks. Joiner. you might improve performance by eliminating the errors. Aggregator. Rank. Santa Clara. Performance details display information about each Source Qualifier. examines each Transformation read from disk and Transformation write to disk counter. Small cache size. If a session has large numbers in any of the Transformation error rows counters. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. The content of the document is solely responsibility of the author. low buffer memory.

_______________________________________________________________________ LearnersParadise. You can identify system bottlenecks by using system tools to monitor CPU usage. The content of the document is solely responsibility of the author. increasing the session DTM buffer pool size may improve performance. although both the index cache and data cache sizes affect performance. tuning the buffer block size may also improve session performance. you may consider tuning the system. the Informatica Server reads historical aggregate data from the local disk during the session and writes to disk when saving historical data. LearnersParadise Confidential ________________________________________________________________________ the index cache to store group information and the data cache to store transformed data. and session. click the Refresh button in the performance details dialog box. joiner. Suite# 100-24. you can increase performance by tuning the index and data cache sizes. As a result. Course : Informatica. Identifying a System Bottleneck After you tune the source. 2900 Gordon Avenue. you will most likely need to increase the data cache size more than the index cache size. The Informatica Server also uses system memory for other data such as aggregate. target. 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. If the counters show any number other than zero during the session run.________________________________________________________________________ Trainer: Jagan Byri. . session execution. rank. If the session performs incremental aggregation. However. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. Therefore. mapping. since the Informatica Server writes the historical data to a file at the end of the session. and paging. You can use system performance monitoring tools to monitor the amount of system resources the Informatica Server uses and identify system bottlenecks. memory usage. you can still evaluate the counters during the session. and cached lookup tables. The Informatica Server uses system resources to process transformation. which is typically larger.com – Online Training with ‘Live’ trainer. and reading and writing data. To view the session performance details while the session runs. the Aggregator_readtodisk and writetodisk counters display a number besides zero. Under certain circumstances. Santa Clara.

On UNIX systems you can use system tools such as vmstat and iostat to monitor system performance. You can use this information to improve network bandwidth. Use the Windows NT/2000 Performance Monitor to create a chart that provides the following information: • • • • • Percent processor time. Pages/second. Course : Informatica. The content of the document is solely responsibility of the author. Suite# 100-24. you can view the Performance and Processes tab in the Task Manager (use Ctrl-Alt-Del and choose Task Manager). LearnersParadise Confidential ________________________________________________________________________ On Windows NT/2000. tune the _______________________________________________________________________ LearnersParadise. 2900 Gordon Avenue. If pages/second is greater than five. You may consider adding another disk device or upgrading the disk device. Santa Clara. You may consider adding more physical memory. If the processors are utilized at more than 80%. You can view more detailed performance information by using the Performance Monitor on Windows NT/2000 (use Start-Programs-Administrative Tools and choose Performance Monitor). you may consider adding more processors. Identifying System Bottlenecks on Windows NT/2000 On Windows NT/2000. Physical disks queue length. This is the percent time that the physical disk is busy performing read or write requests. This is the number of bytes the server has sent to and received from the network. CPU loading process.________________________________________________________________________ Trainer: Jagan Byri. This is the number of users waiting for access to the same disk device. If physical disk queue length is greater than two. Physical disks percent time. monitor each CPU for percent processor time. you may consider adding another disk device or upgrading the disk device. Identifying System Bottlenecks on UNIX You can use UNIX tools to monitor user background process. you may have excessive memory pressure (thrashing). When you tune UNIX systems. and I/O load operations. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. Server total bytes per second. If you have several CPUs. you can use system tools in the Task Manager or Administrative Tools.com – Online Training with ‘Live’ trainer. system swapping actions. The Performance tab in the Task Manager provides a quick look at CPU usage and total memory used. .

Use bulk loading. If your session writes to a relational target. you can optimize session performance by writing to a flat file target that is local to the Informatica Server. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. _______________________________________________________________________ LearnersParadise. lookup. sar -u. This tool shows maxuproc. and waiting time. Iostat displays the percentage of time that the disk was physically active. rank. If the percent time spent waiting on I/O (%wio) is high. iostat. Optimize Oracle target databases. • • vmstat or sar -w. Use this tool to view current system settings. 2900 Gordon Avenue. the maximum level of user background processes. consider putting them on different disks. You may consider reducing the amount of background process on your system. idle time. For example. Use this tool to monitor disk swapping actions. consider performing the following tasks to increase performance: • • • • • • • Drop indexes and key constraints. The content of the document is solely responsibility of the author. . High disk utilization suggests that you may need to add more disks.________________________________________________________________________ Trainer: Jagan Byri. you may consider increasing your physical memory or reduce the number of memory-intensive applications on the disk. if your source data. Optimizing the Target Database If your session writes to a flat file target. LearnersParadise Confidential ________________________________________________________________________ server for a major database system. Use this tool to monitor loading operation for every disk attached to the database server. If swapping does occur. Increase database network packet size. Increase checkpoint intervals. If you use disk arrays. Turn off recovery. Suite# 100-24. Santa Clara. use utilities provided with the disk arrays instead of iostat.com – Online Training with ‘Live’ trainer. Swapping should not occur during the session. target data. Use external loading. This tool provides percent usage on user. and aggregate cache files are all on the same disk. Use this tool to monitor CPU loading. you may consider using other under-utilized disks. Use the following UNIX tools to identify system bottlenecks on the UNIX system: • • lsattr -E -I sys0. Course : Informatica. system.

As a result. 2900 Gordon Avenue. Bulk Loading on Sybase and Microsoft SQL Server You can use bulk loading to improve the performance of a session that inserts a large amount of data to a Sybase or Microsoft SQL Server database. Therefore. You can rebuild those indexes and key constraints after the session completes. When bulk loading. however.and post-load stored procedures to perform these operations each time you run the session. you increase the likelihood that the database performs checkpoints as necessary. Note: To optimize performance. . If you decide to drop and rebuild indexes and key constraints on a regular basis. you can rebuild them. the target database cannot perform rollback. you must weigh the importance of improved session performance against the ability to recover an incomplete session. To improve performance. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. drop indexes and key constraints before running your session. If you decide to use bulk loading with the _______________________________________________________________________ LearnersParadise. you must drop the indexes and constraints before running the session. use constraint-based loading only if necessary. when the size of the database log file reaches its limit. To increase performance. Suite# 100-24.________________________________________________________________________ Trainer: Jagan Byri. Configure bulk loading on the Targets dialog box in the session properties. consider increasing the database checkpoint interval. When you increase the database checkpoint interval. you can create pre.com – Online Training with ‘Live’ trainer. Without writing to the database log. After the session completes. Course : Informatica. LearnersParadise Confidential ________________________________________________________________________ Dropping Indexes and Key Constraints When you define key constraints or indexes in target tables. Santa Clara. the Informatica Server bypasses the database log. The content of the document is solely responsibility of the author. the Informatica Server cannot perform recovery of the session. you slow the loading of data to those tables. which speeds performance. If you have indexes or key constraints on your target tables and you want to enable bulk loading. Increasing Checkpoint Intervals The Informatica Server performance slows each time it waits for the database to perform a checkpoint.

When you load data to an Oracle database using a partitioned session. and Sybase IQ You can use the External Loader session option to integrate external loading with a session. you also need to configure the database server network memory to accept larger packet sizes. you can create pre. The content of the document is solely responsibility of the author. When you enable this option. you can use the Teradata external loader utility to bulk load target files. Use pmconfig to enable the SybaseIQLocaltoPMServer option. 2900 Gordon Avenue. Increasing Database Network Packet Size You can increase the network packet size in the Informatica Server Manager to reduce target bottleneck. If you have a Teradata target database. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. Oracle. the Informatica Server loads data directly from named pipes rather than writing to a flat file for the Sybase IQ external loader. and rollback segments. you can increase performance by loading data to target tables directly from named pipes. . Suite# 100-24. Optimizing Oracle Target Databases If your target database is Oracle. you can optimize the target database by checking the storage clause.ora and listener.and post-load stored procedures to drop and rebuild indexes and key constraints. If your target database runs on Oracle. you can use the Oracle SQL*Loader utility to bulk load target files. Santa Clara. LearnersParadise Confidential ________________________________________________________________________ session on a regular basis. space allocation.________________________________________________________________________ Trainer: Jagan Byri.com – Online Training with ‘Live’ trainer. For Oracle. External Loading on Teradata.ora. increase the network packet size to 8K . If your Sybase IQ database is local to the Informatica Server on your UNIX system. you can increase performance if you create the Oracle target table with the same number of partitions you use for the session. _______________________________________________________________________ LearnersParadise. you can use the Sybase IQ external loader utility to bulk load target files. If you increase the network packet size in the Informatica Server configuration. Course : Informatica. For Sybase and Microsoft SQL Server. If your target database runs on Sybase IQ.16K. increase the network packet size in tnsnames.

LearnersParadise Confidential ________________________________________________________________________ When you write to an Oracle database. Use conditional filters. check the storage clause for database objects. The Oracle database uses the redo log to log loading operations. you can optimize performance by using IPC protocol to connect to the Oracle database. the database uses rollback segments during loads. If each line in the source file is less than the default setting.ora file.ora and tnsnames. Increase database network packet size. Make sure that tables are using large initial and next values. you can improve session performance by setting the number of bytes the Informatica Server reads per line. If your session reads from a relational source.ora. 2900 Gordon Avenue. You can view redo log properties in the init. . you can decrease the Line Sequential Buffer Length setting in the session properties. Course : Informatica. the Informatica Server reads 1024 bytes per line. When you write to Oracle target databases. Make sure that redo log size and buffer size are optimal.________________________________________________________________________ Trainer: Jagan Byri. Santa Clara. Connect to Oracle databases using IPC protocol. If your Oracle instance is local to the Informatica Server. The database should also store table and index data in separate tablespaces. preferably on different disks. Suite# 100-24. The rollback segments should also have appropriate storage clauses. The content of the document is solely responsibility of the author. Optimizing the Source Database If your session reads from a flat file source. Create tempdb as in-memory database. Make sure that the database stores rollback segments in appropriate tablespaces. You can set up Oracle database connection in listener. You can optimize the Oracle target database by tuning the Oracle redo log.com – Online Training with ‘Live’ trainer. _______________________________________________________________________ LearnersParadise. preferably on different disks. review the following suggestions for improving performance: • • • • • Optimize the query. By default. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document.

2900 Gordon Avenue. Queries that contain ORDER BY or GROUP BY clauses may benefit from creating an index on the ORDER BY or GROUP BY columns. you might be able to improve performance by optimizing the query with optimizing hints. . single table select statements with an ORDER BY or GROUP BY clause may benefit from optimization such as adding indexes. Usually. and then create optimizer hints and/or indexes for the source tables. Once you optimize the query. The query the Informatica Server uses to read data appears in the session log. the database optimizer determines the most efficient way to process the source data. Use optimizing hints if there is a long delay between when the query begins executing and when PowerCenter receives the first row of data. Suite# 100-24. Configure optimizer hints to begin returning rows as quickly as possible. This allows the Informatica Server to process rows parallel with the query execution. Also. rather than returning all rows at once. _______________________________________________________________________ LearnersParadise. Course : Informatica. The content of the document is solely responsibility of the author.________________________________________________________________________ Trainer: Jagan Byri. The database administrator can create optimizer hints to tell the database how to execute the query for a particular set of source tables. use the SQL override option to take full advantage of these modifications You can also configure the source database to run parallel queries to improve performance. You can also find the query in the Source Qualifier transformation. you might improve performance by creating the tempdb as an in-memory database to allocate sufficient memory. Using tempdb to Join Sybase and Microsoft SQL Server Tables When joining large tables on a Sybase or Microsoft SQL Server database. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. LearnersParadise Confidential ________________________________________________________________________ Optimizing the Query If a session joins multiple source tables in one Source Qualifier.com – Online Training with ‘Live’ trainer. However. you might know properties about your source tables that the database optimizer does not. Have your database administrator analyze the query. See your database documentation for configuring parallel query. Santa Clara.

LearnersParadise Confidential ________________________________________________________________________ Using Conditional Filters A simple source filter on the source database can sometimes impact performance negatively because of lack of indexes. You can use the PowerMart/PowerCenter conditional filter in the Source Qualifier to improve performance. The content of the document is solely responsibility of the author. Change the packet size in the Server Manager database connection to reflect the database server packet size.________________________________________________________________________ Trainer: Jagan Byri.ora. To do this you must complete the following tasks: • • Increase the database server network packet size. However. Increasing Database Network Packet Sizes You can improve the performance of a source database by increasing the network packet size. _______________________________________________________________________ LearnersParadise. increase the packet size in listener. For example. . You can test your session with both the database filter and the PowerMart/PowerCenter filter to determine which method improves performance. you can optimize performance by using IPC protocol to connect to the Oracle database.ora and tnsnames. the PowerMart/PowerCenter conditional filter may improve performance. For other databases.ora.com – Online Training with ‘Live’ trainer. You can set up Oracle database connection in listener. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. For Oracle. Whether you should use the PowerMart/PowerCenter conditional filter to improve performance depends on your session.ora and tnsnames. Course : Informatica. some sessions may perform faster if you filter the source data on the source database. 2900 Gordon Avenue. Connecting to Oracle Source Databases If your Oracle instance is local to the Informatica Server. Suite# 100-24. Santa Clara. if multiple sessions read from the same source simultaneously. check your database documentation for details on optimizing network packet size. allowing larger packets of data to cross the network at one time.

You should minimize the amount of data moved by deleting unnecessary links between transformations. . CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. 2900 Gordon Avenue. For transformations that use data cache (such as Aggregator. as the situation demands. then sends the data into separate data flows. You can also perform the following tasks to optimize the mapping: • • • • • Configure single-pass reading. you reduce the number of transformations in the mapping and delete unnecessary links between transformations to optimize the mapping. Optimize expressions. LearnersParadise Confidential ________________________________________________________________________ Optimizing the Mapping Mapping-level optimization may take time to implement but can significantly boost session performance. Santa Clara. the Informatica Server then reads each source only once. Eliminate transformation errors. Rank. by any combination. Consider using single-pass reading if you have several sessions that use the same sources. limit connected input/output or output ports. Joiner. or by none. Limiting the number of connected input/output or output ports reduces the amount of data the transformations store in the data cache. _______________________________________________________________________ LearnersParadise. Focus on mapping-level optimization only after optimizing on the target and source databases. If you join the separate mappings and use only one source qualifier for each source. Generally. You should configure the mapping with the least number of transformations and expressions to do the most amount of work possible. Optimize transformations. Optimize datatype conversions. Course : Informatica. Suite# 100-24. Configuring Single-Pass Reading Single-pass reading allows you to populate multiple targets with one source qualifier.com – Online Training with ‘Live’ trainer. The content of the document is solely responsibility of the author. and Lookup transformations). A particular row can be used by all the data flows.________________________________________________________________________ Trainer: Jagan Byri.

Course : Informatica. Check the session log to see where the transformation errors occur. Optimizing Datatype Conversions Forcing the Informatica Server to make unnecessary datatype conversions slows performance. If you convert your zip code data to an Integer datatype.S. The content of the document is solely responsibility of the author. the lookup database stores the zip code 94303-1234 as 943031234. you have the PURCHASING source table. This helps increase the speed of the lookup comparisons based on zip code. Suite# 100-24. if your mapping moves data from an Integer column to a Decimal column. such as null input. _______________________________________________________________________ LearnersParadise. Santa Clara. many databases store U. zip code information as a Char or Varchar datatype. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. conflicting mapping logic. .________________________________________________________________________ Trainer: Jagan Byri. LearnersParadise Confidential ________________________________________________________________________ For example. using one source qualifier. For example. Some datatype conversions can improve system performance. For example. Eliminating Transformation Errors In large numbers. then back to an Integer column. eliminate unnecessary datatype conversions from mappings. the unnecessary datatype conversion slows performance. Then the Informatica Server typically writes the row into the session log file. 2900 Gordon Avenue. and any condition set up as an error. transformation errors slow the performance of the Informatica Server. and you use that source daily to perform an aggregation and a ranking. Where possible. If you place the Aggregator and Rank transformations in separate mappings and sessions. Transformation errors occur when the Informatica Server encounters conversion errors. evaluate those transformation constraints. you force the Informatica Server to read the same source table twice. With each transformation error. However. if you join the two mappings. then sends the appropriate data to the two separate data flows. the Informatica Server reads PURCHASING only once. If the errors center around particular transformations.com – Online Training with ‘Live’ trainer. the Informatica Server pauses to determine the cause of the error and to remove the row causing the error from the data flow. Use integer values in place of other datatypes when performing comparisons using Lookup and Filter transformations.

Persistent cache. the Informatica Server queries the lookup table on a row-by-row basis. you can configure the transformation to use a persistent cache. .________________________________________________________________________ Trainer: Jagan Byri. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. Use this feature when you know the lookup table does not change between session runs. see “Lookup Transformation” in the Designer Guide. you can optimize the lookup. You can share a named cache between transformations in the same or different mappings. You can share the lookup cache between multiple transformations. You can increase performance using a shared or persistent cache: • • Shared cache. Optimizing Lookup Transformations If a mapping contains a Lookup transformation. optimizing the lookup condition.com – Online Training with ‘Live’ trainer. Some of the things you can do to increase performance include caching the lookup table. If you want to save and reuse the cache files. Santa Clara. You can share an unnamed cache between transformations in the same mapping. 2900 Gordon Avenue. However. _______________________________________________________________________ LearnersParadise. LearnersParadise Confidential ________________________________________________________________________ If you need to run a session that generates a large numbers of transformation errors. Suite# 100-24. or indexing the lookup table. the Informatica Server caches the lookup table and queries the lookup cache during the session. When this option is not enabled. In general. Course : Informatica. When you enable caching. Using a persistent cache can improve performance because the Informatica Server builds the memory cache from the cache files instead of from the database. you might improve performance by setting a lower tracing level. you want to cache lookup tables that need less than 300MB. The content of the document is solely responsibility of the author. For more information on lookup caching options. Caching Lookups If a mapping contains Lookup transformations. this is not a recommended long-term response to transformation errors. you might want to enable lookup caching.

Optimizing the Lookup Condition If you include more than one lookup condition. you can tune those lookups to improve overall performance. You can improve performance by indexing the columns in the lookup ORDER BY. session performance improves. Santa Clara. . You can improve performance for both cached and uncached lookups: • • Cached lookups. Course : Informatica. 2900 Gordon Avenue.________________________________________________________________________ Trainer: Jagan Byri. The Lookup transformations that have a large number in this counter might benefit from tuning their lookup expressions. Suite# 100-24. Indexing the Lookup Table The Informatica Server needs to query.com – Online Training with ‘Live’ trainer. _______________________________________________________________________ LearnersParadise. Optimizing Multiple Lookups If a mapping contains multiple lookups. LearnersParadise Confidential ________________________________________________________________________ Reducing the Number of Cached Rows Use the Lookup SQL Override option to add a WHERE clause to the default SQL statement. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. This allows you to reduce the number of rows included in the cache. place the conditions with an equal sign first to optimize lookup performance. The session log contains the ORDER BY statement. To see which Lookup transformations process the most data. even with caching enabled and enough heap memory. Uncached lookups. Because the Informatica Server issues a SELECT statement for each row passing into the Lookup transformation. sort. the lookups can slow performance. you can improve performance by indexing the columns in the lookup condition. The index needs to include every column used in a lookup condition. By locating the Lookup transformations that query the largest amounts of data. If those expressions can be optimized. The content of the document is solely responsibility of the author. and compare values in the lookup condition columns. examine the Lookup_rowsinlookupcache counters for each Lookup transformation.

You should also avoid complex expressions in the Aggregator expressions. Suite# 100-24. Aggregator transformations need additional memory to hold intermediate group results. When possible. Use a Filter or Router transformation to drop rejected rows from an Update Strategy transformation if you do not need to keep rejected rows. The content of the document is solely responsibility of the author. Instead of using a Filter transformation halfway through the mapping to remove a sizable amount of data. 2900 Gordon Avenue. Use incremental aggregation. you can improve efficiency by filtering early in the data flow.________________________________________________________________________ Trainer: Jagan Byri.com – Online Training with ‘Live’ trainer. In your filter condition. You can optimize Aggregator transformations by performing the following tasks: • • • Group by simple columns. _______________________________________________________________________ LearnersParadise. LearnersParadise Confidential ________________________________________________________________________ Optimizing Filter Transformations If you filter rows from the mapping. You can optimize Filter transformations by using simple integer or true/false expressions in the filter condition. Group By Simple Columns You can optimize Aggregator transformations when you group by simple columns. Course : Informatica. Santa Clara. . Use sorted input. avoid using complex expressions. use a source qualifier filter to remove those same rows at the source. If you cannot move the filter into the source qualifier. move the Filter transformation as close to the source qualifier as possible to remove unnecessary data early in the data flow. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. Optimizing Aggregator Transformations Aggregator transformations often slow performance because they must group data before processing it. use numbers instead of string and dates in the columns used for the GROUP BY.

it performs aggregate calculations. Optimizing Joiner Transformations Joiner transformations can slow performance because they need additional space at run time to hold intermediate results. When necessary. . You can benefit from better performance when you use the Sorted Input option in partitioned sessions. rather than processing the entire source and recalculate the same calculations every time you run the session. the Informatica Server assumes all data is sorted by group. When you use the Sorted Input option. you can use Incremental Aggregation to optimize the performance of Aggregator transformations. Course : Informatica. You need to make sure that you have enough memory to hold the data and the index cache so the system does not page to disk. As the Informatica Server reads rows for a group. You can view Joiner performance counter information to determine whether you need to optimize the Joiner transformations.________________________________________________________________________ Trainer: Jagan Byri. Use this option with the Source Qualifier Number of Sorted Ports option to pass sorted data to the Aggregator transformation. Joiner transformations need a data cache to hold the master table rows and an index cache to hold the join columns from the master table. The Sorted Input decreases the use of aggregate caches. _______________________________________________________________________ LearnersParadise.com – Online Training with ‘Live’ trainer. Suite# 100-24. The Sorted Input option reduces the amount of data cached during the session and improves performance. The content of the document is solely responsibility of the author. you apply captured changes in the source to aggregate calculations in a session. it stores group information in memory. LearnersParadise Confidential ________________________________________________________________________ Use Sorted Input You can increase session performance by sorting data and using the Aggregator Sorted Input option. When using incremental aggregation. The Informatica Server updates your target incrementally. 2900 Gordon Avenue. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. Use Incremental Aggregation If you can capture changes from the source that changes less than half the target. Santa Clara.

Suite# 100-24. you have a mapping with five target tables. The type of join you use can affect performance. _______________________________________________________________________ LearnersParadise. When examining expressions. reduce the number of times the mapping performs the task by moving the task earlier in the mapping. use database joins for homogenous sources.000. You may consider configuring the Number of Cached Values to a value greater than 1. you can also use the smaller table as the master table or join on as few columns as possible. 2900 Gordon Avenue. you can focus on the expressions used in transformations. focus on complex expressions for possible simplification. Then pass lookup results to all five targets. place the Lookup transformation in the mapping before the data flow splits. The content of the document is solely responsibility of the author. For example.com – Online Training with ‘Live’ trainer. Instead of performing the lookup five times. Santa Clara.________________________________________________________________________ Trainer: Jagan Byri. Make sure that the Number of Cached Value is not too small. Once you locate the slowest expressions. . Optimizing Expressions As a final step in tuning the mapping. You can also optimize Sequence Generator transformations by configuring the Number of Cached Values property. Each target requires a Social Security number lookup. Course : Informatica. Remove expressions one-by-one to isolate the slow expressions. LearnersParadise Confidential ________________________________________________________________________ To minimize memory requirements. The Number of Cached Values property determines the number of values the Informatica Server caches at one time. take a closer look at how you can optimize those expressions. Optimizing Sequence Generator Transformations You can optimize Sequence Generator transformations by creating a reusable Sequence Generator and use it in multiple mappings simultaneously. When possible. Normal joins are faster than outer joins and result in fewer rows. Factoring Out Common Logic If the mapping performs the same task in several places. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document.

EMPLOYEE_NAME and EMPLOYEE_ID. You can use the Treat CHAR as CHAR On Read option in the Informatica Server setup so that the Informatica Server does not trim trailing spaces from the end of Char source fields. The content of the document is solely responsibility of the author. as below. finds the sum. you can speed performance. . CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. Course : Informatica. Each time you use an aggregate function call. it slows each time it finds trailing blank spaces in the row. but by calculating the variable only once. configuring the lookup around EMPLOYEE_ID improves performance. then reads COLUMN_B. the Informatica Server reads COLUMN_A. Optimizing Char-Char and Char-Varchar Comparisons When the Informatica Server performs comparisons between CHAR and VARCHAR columns. You can use a local variable only within the transformation. Choosing Numeric versus String Operations The Informatica Server processes numeric operations faster than string operations. For example. SUM(COLUMN_A + COLUMN_B) Replacing Common Sub-Expressions with Local Variables If you use the same sub-expression several times in one transformation. finds the sum.________________________________________________________________________ Trainer: Jagan Byri. LearnersParadise Confidential ________________________________________________________________________ Minimizing Aggregate Function Calls When writing expressions. then finds the sum of both. the Informatica Server must search and group the data. in the following expression. if you look up large amounts of data on two columns. you can make that sub-expression a local variable.com – Online Training with ‘Live’ trainer. Suite# 100-24. _______________________________________________________________________ LearnersParadise. factor out as many aggregate function calls as possible. the Informatica Server adds COLUMN_A to COLUMN_B. and finally finds the sum of the two sums: SUM(COLUMN_A) + SUM(COLUMN_B) If you factor out the aggregate function call. 2900 Gordon Avenue. Santa Clara. For example.

FIRST_NAME || ‘ ’ || CUSTOMERS. Course : Informatica. . ‘ ’) CUSTOMERS. _______________________________________________________________________ LearnersParadise. Where possible.LAST_NAME Optimizing IIF Expressions IIF expressions can return a value as well as an action.com – Online Training with ‘Live’ trainer. then return = VAL_A + VAL_B. 2900 Gordon Avenue. and you want to return values such that: If FLG_A = “Y”. The content of the document is solely responsibility of the author. FLG_C. if you have an expression that involves nested CONCAT calls such as: CONCAT( CONCAT( CUSTOMERS. IIF( FLG_A = 'Y' and FLG_B = 'N' AND FLG_C = 'Y'.________________________________________________________________________ Trainer: Jagan Byri. use operators to write your expressions. which allows for more compact expressions. and so on for all the permutations.LAST_NAME) you can rewrite that expression with the || operator as follows: CUSTOMERS. Using Operators Instead of Functions The Informatica Server reads expressions written with operators faster than expressions with functions. Santa Clara. When you use a DECODE function. when you want to look up a small set of unchanging values. IIF( FLG_A = 'Y' and FLG_B = 'Y' AND FLG_C = 'N'. say you have a source with three Y/N flags: FLG_A. LearnersParadise Confidential ________________________________________________________________________ Choosing DECODE versus LOOKUP When you use a LOOKUP function. FLG_B. the Informatica Server must look up a table in a database. For example. VAL_A + VAL_B + VAL_C. so the Informatica Server does not have to look up a separate table. you incorporate the lookup values into the expression itself.FIRST_NAME. Therefore. If FLG_A = “Y” AND FLG_B = “Y”. One way to write the expression is as follows: IIF( FLG_A = 'Y' and FLG_B = 'Y' AND FLG_C = 'Y'. VAL_A + VAL_B . CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. then return = VAL_A. using DECODE may improve performance. Suite# 100-24. For example.

IIF( FLG_A = 'N' and FLG_B = 'N' AND FLG_C = 'N'. VAL_B . 16 ANDs. IIF( FLG_A = 'N' and FLG_B = 'Y' AND FLG_C = 'Y'. The content of the document is solely responsibility of the author. Evaluating Expressions If you are not sure which expressions slow performance. and at least 24 comparisons. To evaluate expression performance: 1. )))))))) This first expression requires 8 IIFs.________________________________________________________________________ Trainer: Jagan Byri. VAL_C. IIF( FLG_A = 'N' and FLG_B = 'Y' AND FLG_C = 'N'.0)+ IIF(FLG_B='Y'. Course : Informatica. Santa Clara. LearnersParadise Confidential ________________________________________________________________________ VAL_A + VAL_C. 2. the following steps can help isolate the problem. VAL_C. VAL_B. you can rewrite that expression as: IIF(FLG_A='Y'. But if you take advantage of the IIF function’s ability to return a value.0)+ IIF(FLG_C='Y'. two additions. VAL_A. and a faster session. . _______________________________________________________________________ LearnersParadise. VAL_B + VAL_C. IIF( FLG_A = 'Y' and FLG_B = 'N' AND FLG_C = 'N'. Make another copy of the mapping and replace the other half of the complex expressions with a constant. 0. Copy the mapping and replace half of the complex expressions with a constant. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. two comparisons. 0. Run and time the edited session. 4. Suite# 100-24. VAL_A . 2900 Gordon Avenue. Time the session with the original expressions.com – Online Training with ‘Live’ trainer. Run and time the edited session.0. 0.0) This results in three IIFs. 0. 3. IIF( FLG_A = 'N' and FLG_B = 'N' AND FLG_C = 'Y'. 5.

2900 Gordon Avenue.com – Online Training with ‘Live’ trainer.000.000.000 bytes 128. You can perform the following tasks to improve overall performance: • • • • • Run concurrent batches.000. Session Tuning Parameters Setting DTM Buffer Pool Size Default Value 12.000 rows Disabled _______________________________________________________________________ LearnersParadise.000.000 bytes 24.000 bytes Suggested Minimum Value 6. Course : Informatica. Partition sessions.000 bytes 2.000 bytes 4.000. and mapping.000. Table 19-1 lists the settings and values you can use to improve session performance: Table 19-1. Tune session parameters. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. Reduce errors tracing.000.000 bytes N/A N/A Suggested Maximum Value 128.000 bytes 10.________________________________________________________________________ Trainer: Jagan Byri.000. .000 bytes Index cache size Data cache size Commit interval Decimal arithmetic 1. target database.000 bytes N/A N/A Buffer block size 64. you can focus on optimizing the session. The content of the document is solely responsibility of the author.000. Remove staging areas. Suite# 100-24. Santa Clara. LearnersParadise Confidential ________________________________________________________________________ Optimizing the Session Once you optimize your source database.000 bytes 1.000 bytes 2.000 bytes 12.

The default setting is 12.com – Online Training with ‘Live’ trainer. The content of the document is solely responsibility of the author. Partitioning Sessions If you use PowerCenter. you can improve session performance by partitioning sessions. 2900 Gordon Avenue. you can separate the mapping into several simpler mappings with separate sources. you can place them in a concurrent batch and run them at the same time. LearnersParadise Confidential ________________________________________________________________________ Tracing Level Normal Terse N/A Running Concurrent Batches You can sometimes improve performance by creating a concurrent batch to run several sessions in parallel on one Informatica Server. you can increase the number of available memory blocks by adjusting the following session parameters: • DTM Buffer Pool Size. If the Informatica Server cannot allocate enough memory blocks to hold the data. If you have a complex mapping with multiple sources. and loads data in parallel pipelines. it allocates blocks of memory to hold source and target data. If you run a session that has more than 83 sources and targets. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. Sessions that use a large number of sources and targets might require additional memory blocks. If you have independent sessions that use separate sources and separate mappings to populate different targets. Santa Clara. When you partition a session. Then create a session for each mapping and place the sessions in a concurrent batch to run in parallel. a session has enough buffer blocks for 83 sources and targets. Increase the DTM buffer pool size found on the General tab of the session properties. Course : Informatica. Suite# 100-24.000 bytes. it fails the session.000. Allocating Buffer Memory When the Informatica Server initializes a session. The Informatica Server allocates at least two blocks for each source and target partition. _______________________________________________________________________ LearnersParadise. transforms. .________________________________________________________________________ Trainer: Jagan Byri. By default. the PowerCenter Server opens multiple connections to source and target databases and extracts.

you determine that you can change the DTM Buffer Pool Size to 15.000. or you can change the Default Buffer Block Size to 54.000: (session Buffer Blocks) = (. based on default settings.9 * 12000000 / 54000 * 1 Increasing DTM Buffer Pool Size The DTM Buffer Pool Size setting specifies the amount of memory the Informatica Server uses as DTM buffer memory.9) * (DTM Buffer Pool Size) / (Default Buffer Block Size) * (number of partitions) 200 = .9 * 14222222 / 64000 * 1 or 200 = . Decrease the buffer block size found in the Configuration Parameters dialog box in the session properties. Suite# 100-24. The default setting is 64. . you create a non-partitioned session using a mapping that contains 50 sources and 50 targets. first determine the number of memory blocks the Informatica Server requires to initialize the session. The content of the document is solely responsibility of the author. Then. 1. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. 2900 Gordon Avenue. you can calculate the buffer pool size and/or the buffer block size to create the required number of session blocks. The Informatica Server uses DTM buffer memory to create the internal data structures and buffer blocks used to bring data into and out of the _______________________________________________________________________ LearnersParadise. Next. Course : Informatica. To configure these settings. based on default settings.________________________________________________________________________ Trainer: Jagan Byri. Santa Clara.000 bytes. use the number of groups in the XML source or target in your calculation for the total number of sources and targets.com – Online Training with ‘Live’ trainer. If you have XML sources or targets in your mapping.000. For example. You determine that the session requires 200 memory blocks: [(total number of sources + total number of targets)* 2] = (session buffer blocks) 100 * 2 = 200 2. LearnersParadise Confidential ________________________________________________________________________ • Default Buffer Block Size.

In the Server Manager. The content of the document is solely responsibility of the author. the Informatica Server creates more buffer blocks. open the selected session property sheet. Suite# 100-24. 2900 Gordon Avenue. the combined DTM buffer memory allocated for the sessions or batches must not exceed the total memory for the Informatica Server system. DTM buffer memory allocation is not a factor in session performance. _______________________________________________________________________ LearnersParadise. 2. To increase DTM buffer pool size: 1. If you run a concurrent batch. increasing the DTM buffer pool size may improve performance. Note: Reducing the DTM buffer allocation can cause the session to fail early in the process because the Informatica Server is unable to allocate memory to the required processes. Santa Clara. If you do not see a significant increase in performance. Course : Informatica. you might need to increase or decrease the buffer block size.com – Online Training with ‘Live’ trainer. When you increase the DTM buffer memory. which improves performance during momentary slowdowns.000 bytes. then run and time the session after each increase. On the General tab. Optimizing the Buffer Block Size Depending on the session source data. The default for DTM Buffer Pool Size is 12. Increasing DTM buffer memory allocation generally causes performance to improve initially and then level off. click Advanced Options. When you increase the DTM buffer memory allocation. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. If your performance details show low numbers for your source and target BufferInput_efficiency and BufferOutput_efficiency counters. 3. LearnersParadise Confidential ________________________________________________________________________ Informatica Server. Increase the setting by increments of multiples of the buffer block size. Increase the setting for DTM Buffer Pool Size. .000.________________________________________________________________________ Trainer: Jagan Byri. and click OK. consider the total memory available on the Informatica Server system.

On the General tab. and click OK.000 bytes. 6. To increase buffer block size: 1. you might need to decrease the buffer block size.000 bytes.000. 4. If the buffer block size is 64. The total precision represents the total bytes needed to move the largest row of data. Click the Ports tab. The default for this setting is 64. if the total precision equals 33. The content of the document is solely responsibility of the author. 2. you can determine the configured row size by following the steps below. As with DTM buffer memory allocation. a buffer should accommodate at least 20 rows at a time. click Advanced Options. In the Server Manager. repeat steps 2-4 for each additional target to calculate the precision for each target. Increase this setting in relation to the size of the rows. . If you are manipulating unusually large rows of data. 1. 5. Increase the setting for Default Buffer Block Size. Open the configuration dialog box for the target definition.________________________________________________________________________ Trainer: Jagan Byri. 2. Suite# 100-24. To evaluate needed buffer block size: In the Mapping Designer. increasing buffer block size should _______________________________________________________________________ LearnersParadise.com – Online Training with ‘Live’ trainer. 3. open the selected session property sheet. If you have more than one target in the mapping. If you do not know the approximate size of your rows. Repeat steps 2-5 for each source definition in your mapping. Add the precisions for all the columns in the target. Course : Informatica. 7. For example. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. LearnersParadise Confidential ________________________________________________________________________ If the session mapping contains a large number of sources or targets. Ideally. 3. then the Informatica Server requires 33. 2900 Gordon Avenue. So if the total precision is greater than 32. the Informatica Server can move only one row at a time.000. Santa Clara. you can increase the buffer block size to improve performance.000 bytes in the buffers to move that row. open the mapping for the session. increase the size of the buffers to improve performance. Choose the largest precision of all the source and target precisions for the total precision in your buffer block size calculation.

or Joiner transformation indicate the number of times the Informatica Server must page to disk to process the transformation. and Joiner transformations in the data cache before returning it to the data flow. Since the data cache is typically larger than the index cache. You can see when the Informatica Server pages to the temporary file by examining the performance details. If you increase the commit interval. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. the more often the Informatica Server writes to the target database. Course : Informatica. Lookup. Each time the Informatica Server pages to the temporary file.________________________________________________________________________ Trainer: Jagan Byri. and Joiner transformation. performance slows. Rank. and the slower the overall performance. The Informatica Server stores transformed data from Aggregator. Rank. Each time the Informatica Server commits. The Transformation_readfromdisk or Transformation_writetodisk counters for any Aggregator. The Informatica Server must then process more data to complete the recovery of the session. _______________________________________________________________________ LearnersParadise. If the allocated data or index cache is not large enough to store the data. Suite# 100-24. the number of times the Informatica Server commits decreases and performance improves. the Informatica Server stores the data in a temporary disk file as it processes the session data. The content of the document is solely responsibility of the author. . Rank. However. performance slows. It stores group information for those transformations in the index cache. LearnersParadise Confidential ________________________________________________________________________ improve performance. the smaller the commit interval. Santa Clara. Lookup. if the session fails and you decide to perform recovery. the Informatica Server recovers less data from the target because more data had been stored in the buffers.com – Online Training with ‘Live’ trainer. Increasing the Cache Sizes The Informatica Server uses the index and data caches for Aggregator. Lookup. If you do not see an increase. waiting to commit. you should increase the data cache more than the index cache. Therefore. Increasing the Commit Interval The Commit Interval setting determines the point at which the Informatica Server commits data to the target tables. buffer block size is not a factor in session performance. 2900 Gordon Avenue.

the target database commits as necessary. Note: The commit interval does not affect the performance of bulk load sessions.com – Online Training with ‘Live’ trainer. Santa Clara. When you run a session in Bulk mode. configure the Informatica Server to recognize this datatype by selecting Enable Decimal Arithmetic in the session property sheet. ignoring commit commands sent by the Informatica Server.________________________________________________________________________ Trainer: Jagan Byri. The Decimal datatype is a numeric datatype with a maximum precision of 28. Turning Off Session Recovery You can improve performance by turning off session recovery. you can improve session performance by disabling decimal arithmetic. If the commit interval is too high. _______________________________________________________________________ LearnersParadise. Suite# 100-24. Disabling Decimal Arithmetic If a session runs with decimal arithmetic enabled. However. The Informatica Server writes recovery information in the OPB_SRVR_RECOVERY table during each commit. To use a high-precision Decimal datatype in a session. Therefore. you must weigh the importance of improved session performance against the ability to recover an incomplete session. This can decrease performance. LearnersParadise Confidential ________________________________________________________________________ When you increase the commit interval. You can turn off session recovery in the Informatica Server setup. Click the Advanced Options button on the General tab of the session properties to review and adjust the commit interval. consider the log file limits in the target database. the Informatica Server may fill the database log file and cause the session to fail. 2900 Gordon Avenue. disabling decimal arithmetic might improve session performance. . The content of the document is solely responsibility of the author. Course : Informatica. However. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. since reading and manipulating the high-precision datatype slows the Informatica Server. weigh the benefit of increasing the commit interval against the additional time you would spend recovering a failed session.

the Informatica Server does not write error messages or row-level information for reject data. set the tracing level to Verbose. 2900 Gordon Avenue. Do not use Verbose tracing when you tune performance. The Informatica Server can read multiple sources with a single pass. it can significantly impact the session performance. Santa Clara. The content of the document is solely responsibility of the author. You specify Terse tracing if your sessions run without problems and you don’t need session details. LearnersParadise Confidential ________________________________________________________________________ When you disable decimal arithmetic. the Informatica Server converts data to a double. Where possible. Suite# 100-24. However. Course : Informatica. . the Informatica Server performs multiple passes on your data. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. Removing Staging Areas When you use a staging area. To use the reject loading utility. To debug your mapping. The Informatica Server reads the Decimal row 3900058411382035317455530282 as 390005841138203 x 1013. which may alleviate your need for staging areas. you can improve performance by reducing the amount of data the Informatica Server writes to the session log. set the tracing level to Terse. The session tracing level overrides any transformation-specific tracing levels within the mapping. set the tracing level to Normal. remove staging areas to improve performance.com – Online Training with ‘Live’ trainer.________________________________________________________________________ Trainer: Jagan Byri. Optimizing the System _______________________________________________________________________ LearnersParadise. This is not recommended as a long-term response to high levels of transformation errors. At this tracing level. To reduce the amount of time spent writing to the session log file. Reducing Error Tracing If a session contains a large number of transformation errors that you have no time to correct.

Consider the following options to minimize network activity and to improve Informatica Server performance. When an operating system runs out of physical memory. or configure your system to use additional CPUs. Slow network connections can slow session performance. Using multiple PowerCenter Servers on separate systems might double or triple session performance. it starts paging to disk to free physical memory. Reduce paging. Course : Informatica. Suite# 100-24. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. . A local disk can move data five to twenty times faster than a network. and usage by many users.________________________________________________________________________ Trainer: Jagan Byri. source and target file systems. as well as the Informatica Server and repository machines can slow session performance. configure the Informatica Server for ASCII data movement mode. After you determine from the system monitoring tools that you have a system bottleneck. System delays can also be caused by routers. LearnersParadise Confidential ________________________________________________________________________ Often performance slows because your session relies on inefficient connections or an overloaded Informatica Server system. 2900 Gordon Avenue. If you use flat file as a source or target in your session. session performance becomes dependent on _______________________________________________________________________ LearnersParadise. Check hard disks on related machines. switches.com – Online Training with ‘Live’ trainer. Slow disk access on source and target databases. Configure the physical memory for the Informatica Server machine to minimize paging to disk. Santa Clara. Have your system administrator evaluate the hard disks on your machines. When you store flat files on a machine other than the Informatica Server. Configure the Informatica Server for ASCII data movement mode. Improving Network Speed The performance of the Informatica Server is related to network connections. Run the Informatica Server and related machines on high performance CPUs. Decrease the number of network hops between the Informatica Server and databases. you can make the following global changes to improve the performance of all your sessions: • • • • • • Improve network speed. Have your system administrator determine if your network runs at an optimal speed. The content of the document is solely responsibility of the author. you can move the files onto the Informatica Server system to improve performance. Improve CPU performance. Use multiple PowerCenter Servers. network protocols. When all character data processed by the Informatica Server is US-ASCII or EBCDIC.

Parallel sessions or session partitions also require disk access. minimize the number of processes accessing the disk. The content of the document is solely responsibility of the author. Using Multiple PowerCenter Servers You can run multiple PowerCenter Servers on separate systems against the same repository. However. 2900 Gordon Avenue. If you use relational source or target databases. additional CPUs might cause disk bottlenecks. Course : Informatica. When you run the Informatica Server in Unicode mode. _______________________________________________________________________ LearnersParadise. Santa Clara. Additional CPUs allows the system to run multiple sessions in parallel as well as multiple session partitions in parallel. Using Additional CPUs Configure your system to use additional CPUs to improve performance. Processes that access the disk include database functions and operating system functions. have your network administrator analyze the network and make sure it has enough bandwidth to handle the data moving across the network from all partitions. try to minimize the number of network hops between the source and target databases and the Informatica Server. it uses two bytes for each character. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. In ASCII mode.com – Online Training with ‘Live’ trainer. . Running the Informatica Server in ASCII Data Movement Mode When all character data processed by the Informatica Server is US-ASCII or EBCDIC. When you run partitioned sessions. Distributing the session load to separate PowerCenter Server systems increases performance. LearnersParadise Confidential ________________________________________________________________________ the performance of your network connections. To prevent disk bottlenecks.________________________________________________________________________ Trainer: Jagan Byri. the Informatica Server uses one byte to store each character. configure the Informatica Server to run in the ASCII data movement mode. Moving the target database onto a server system might improve Informatica Server performance. Moving the files onto the Informatica Server system and adding disk space might improve performance. Suite# 100-24. which can slow session performance.

you can reconfigure your session to have two or more partitions. You can free up more memory or increase physical memory to reduce paging and the slow performance that results from paging. and system for maximum singlepartition performance. Course : Informatica. there should be no need to use the “Number of Cached Values” property of the Sequence Generator transformation. Suite# 100-24.________________________________________________________________________ Trainer: Jagan Byri. Use the following tips to add partitions to a session: • • • Add one partition at a time. Set DTM Buffer Memory. 2900 Gordon Avenue. You might want to increase system memory in the following circumstances: • • You run a session that uses large cached lookups. you may find that your system is under-utilized. . For a session with n partitions. The content of the document is solely responsibility of the author. Set cached values for Sequence Generator. Monitor paging activity using system tools. Adding partitions may improve performance by utilizing more of the hardware while processing the session. you might want to add memory to the system. add one partition at a time. Santa Clara. To best monitor performance. databases. make sure it is at least n times the original value for the non-partitioned session. and note your session settings before you add each partition.com – Online Training with ‘Live’ trainer. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. You run a session with many partitions. If you cannot free up memory. Partitioning Once you have tuned the application. Partitioned sessions is more effective than running concurrent batches _______________________________________________________________________ LearnersParadise. LearnersParadise Confidential ________________________________________________________________________ Reducing Paging Paging occurs when the Informatica Server operating system runs out of memory for a particular operation and uses the local disk for memory. this value should be at least n times the original value for the non-partitioned session. At this point. If you must set this value to a value greater than zero. For a session with n partitions.

if you have two partitions. Suite# 100-24. the results may not make your session any quicker. If the wait for I/O time goes up a significant amount. Otherwise. you probably need to tune your database. Monitor the system while running the session.________________________________________________________________________ Trainer: Jagan Byri. Make sure that your databases are tuned properly for parallel ETL and that your system has no bottlenecks. you need to look at options that enable parallelization. Configure each partition of the session to extract the same number of rows. If your database allows it. Tune databases and system. If there are CPU cycles available (twenty percent or more idle time) then this session might see a performance improvement by adding a partition. or the total data transformation rate goes down. If the CPU utilization does not go up. You should check your individual database manual for these options. . then there is probably a hardware or software bottleneck. Is the throughput scaling linearly? In other words. If these options are off. 2900 Gordon Avenue. the Informatica Server runs multiple partition SELECT statements serially. To maximize a single-sorted query on your database. then check the system for hardware bottlenecks. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. But if the database is not tuned properly. Measure the reader throughput in the Server Manager. • • • • Optimizing the Source Database for Partitioning Usually. There are many options in each database that may increase the speed of your query. Monitor the system after adding a partition. This is fairly easy to test.com – Online Training with ‘Live’ trainer. Santa Clara. the wait for I/O time goes up. Partition the source data evenly. Some databases may have specific options that must be set to enable parallel queries. each partition on the reader side represents a subset of the data to be processed. is your reader throughput twice as fast? If this is not true. You can also consider partitioning the data in the source database to increase the speed of your query. check the database configuration. add partitions. The content of the document is solely responsibility of the author. _______________________________________________________________________ LearnersParadise. LearnersParadise Confidential ________________________________________________________________________ because the Informatica Server avoids using cached sequence number for partitioned sessions. you can use the SQL override feature to provide a query that extracts data from a single partition. Each database provides an option to separate the data into different tablespaces. Create a non-partitioned session. After you do this. Course : Informatica.

and optimizer_percent_parallel. on Oracle you should look at parallel_adaptive_multi_user. On DB2. For example. Check your individual database documentation for all performance tuning configuration parameters available. To make sure that your database inserts rows in parallel. disable archive logging and timed statistics on Oracle. you should look at parallel_max_servers. For example. then your database is probably inserting rows into the database serially. Make sure intra-parallelism (the ability to run multiple threads on a single query) is enabled. Optimizing the Target Database for Partitioning If you have a mapping with multiple partitions. Course : Informatica. you want the throughput for each partition to be the same as the throughput for a single partition session. If you do not see this correlation. you should look at intra_parallel. For example. Note: The above examples are not a comprehensive list of all the tuning options available to you on the databases. dft_degree. and sort_heap. and max_query_degree. Oracle has a parameter called parallel_automatic_tuning. Maximum number of parallel processes that are available for parallel executions. Oracle has parameters such as large_pool_size. 2900 Gordon Avenue. fcm_num_buffers. parallel_execution_message_size. Degrees of parallelism (may occur as either a database configuration parameter or an option on the table or query). For example. DB2 has configuration parameters such as dft_fetch_size. LearnersParadise Confidential ________________________________________________________________________ Here are some configuration options to look for in your source database: • • • • • • Check for configuration parameters that perform automatic tuning. The content of the document is solely responsibility of the author.com – Online Training with ‘Live’ trainer. Oracle has parameters parallel_threads_per_cpu and optimizer_percent_parallel. For example. On DB2. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. on Oracle. hash_area_size. DB2 has configuration parameters such as dft_prefetch_size. Suite# 100-24.________________________________________________________________________ Trainer: Jagan Byri. For example. shared_pool_size. you should look at max_agents. Size for various resources used in parallelization. check the following configuration options in your target database: _______________________________________________________________________ LearnersParadise. Turn off options that may affect your database scalability. . Santa Clara.

and individual transformation appears in the performance details. Each Source Qualifier.com – Online Training with ‘Live’ trainer. Rank. Consider partitioning your target table. . try to have each session partition write to a single database partition. Oracle has db_writer_processes. You can view performance details through the Server Manager as the session runs or after the session completes. look into having the database partitions on separate disks to prevent I/O contention among the session partitions. target definition. By evaluating the final performance details. Monitoring also provides sessionspecific details that can help tune the following: • • • Buffer block size Index and data cache size for Aggregator. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. Creating Performance Details The performance details provide counters that help you understand the session and mapping efficiency.________________________________________________________________________ Trainer: Jagan Byri. The content of the document is solely responsibility of the author. Course : Informatica. Lookup. or you can open the resulting file in a text editor. For example. you can determine where session performance slows down. For example. Suite# 100-24. Turn off options that may affect your database scalability. Santa Clara. The Router transformation can be used for this purpose. 2900 Gordon Avenue. Also. If it is possible. LearnersParadise Confidential ________________________________________________________________________ • • • Look for a configuration option that needs to be set explicitly to enable parallel inserts. and DB2 has max_agents (some databases may have this enabled by default). You create performance details by selecting Perform Monitor in the session property sheet before running the session. disable archive logging and timed statistics on Oracle. along with counters that display performance information about each transformation. and Joiner transformations Lookup transformations Before using performance details to improve session performance you must do the following: • Enable monitoring _______________________________________________________________________ LearnersParadise.

2. select Collect Performance Data. On the General tab. 3. In the Server Manager. If there is no session-specific directory for the session log. open the selected session property sheet. 2. Open the file in any text editor. 2900 Gordon Avenue. Select the session in the Monitor window and click the Session Performance Details button. the Informatica Server saves the file in the default log files directory. you must enable monitoring in the session property sheet before running it. _______________________________________________________________________ LearnersParadise. Run the session.PERF. To enable monitoring: 1. LearnersParadise Confidential ________________________________________________________________________ • Understand performance counters Enabling Monitoring To view performance details. Monitor the Informatica Server. 2. you can watch performance details during the session run. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. Course : Informatica. Suite# 100-24. To view performance details in the Server Manager: 1. Viewing Session Performance Details You can view session performance details through the Server Manager or by locating and opening the performance details file. To watch the information as it changes. and click OK. . 3. The content of the document is solely responsibility of the author. In the Server Manager. click Refresh Continuously. or choose Server Requests-Session Performance Details. and stores it in the same directory as the session log.________________________________________________________________________ Trainer: Jagan Byri.com – Online Training with ‘Live’ trainer. Santa Clara. Locate the performance details file. To view the performance details file: 1. The Informatica Server names the file session_name.

________________________________________________________________________ Trainer: Jagan Byri. and the third column holds the resulting number or efficiency percentage. each Lookup transformation has a counter that indicates the number of rows stored in the lookup cache. output rows. You can use these counters to locate performance bottlenecks. Source Qualifiers. 2900 Gordon Avenue. .com – Online Training with ‘Live’ trainer. Suite# 100-24. Some transformations have counters specific to their functionality. When you read performance details. Santa Clara. and error rows. the number of aggregate or rank input rows may be different from the number of output rows from the previous transformation. For example. LearnersParadise Confidential ________________________________________________________________________ Understanding Performance Counters All transformations have some basic counters that indicate the number of input rows. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. When you partition a source. Normalizers. Table lists the counters that may appear in the Session Performance Details dialog box or in the performance details file: _______________________________________________________________________ LearnersParadise. The following performance counters illustrate two partitions for an Expression transformation: Transformation EXPTRANS [1] Counter Expression_input rows Expression_output rows EXPTRANS [2] Expression_input rows Expression_output rows 8 8 16 16 Value Note: When you partition a session. the Informatica Server generates one set of counters for each partition. Course : Informatica. the first column displays the transformation name as it appears in the mapping. and targets have additional counters that indicate the efficiency of data moving into and out of buffers. the second column contains the counter name. The content of the document is solely responsibility of the author.

Percentage reflecting how seldom the DTM waited for a free buffer when passing data to the writer. Percentage reflecting how seldom the Informatica Server waited for a full buffer of data from the writer. Number of rows passed into the transformation. Percentage reflecting how seldom the DTM waited for a full buffer of data from the reader. The content of the document is solely responsibility of the author. LearnersParadise Confidential ________________________________________________________________________ Transformation Counters Description Percentage reflecting how seldom the reader waited for a free buffer when passing data to the DTM. Suite# 100-24. Number of times the Informatica Server read from the index or data cache. Santa Clara. Number of rows in which the Informatica Server encountered an error.com – Online Training with ‘Live’ trainer. Course : Informatica.________________________________________________________________________ Trainer: Jagan Byri. . Source Qualifier and Normalizer Transformations BufferInput_efficiency BufferOutput_efficiency BufferInput_efficiency Target BufferOutput_efficiency Aggregator and Rank Transformations Aggregator/Rank_inputrows Aggregator/Rank_outputrows Aggregator/Rank_errorrows Aggregator/Rank_readfromcache _______________________________________________________________________ LearnersParadise. 2900 Gordon Avenue. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. Number of rows sent out of the transformation.

2900 Gordon Avenue. instead of using cached data. Santa Clara.com – Online Training with ‘Live’ trainer. Number of rows passed into the transformation. Number of rows passed into the transformation. Number of rows in which the Informatica Server encountered an error. Number of times the Informatica Server read from the index or data file on the local disk.________________________________________________________________________ Trainer: Jagan Byri. instead of using cached data. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. Number of rows sent out of the transformation. Course : Informatica. . Number of new groups the Informatica Server created. Number of times the Informatica Server wrote to the index or data file on the local disk. Aggregator/Rank_writetocache Aggregator/Rank_readfromdisk Aggregator/Rank_writetodisk Aggregator/Rank_newgroupkey Aggregator/Rank_oldgroupkey Lookup_inputrows Lookup_outputrows Lookup Transformation Lookup_errorrows Lookup_rowsinlookupcache Joiner Transformation* Joiner_inputrows _______________________________________________________________________ LearnersParadise. Suite# 100-24. Number of times the Informatica Server used existing groups. The content of the document is solely responsibility of the author. Number of rows stored in the lookup cache. LearnersParadise Confidential ________________________________________________________________________ Number of times the Informatica Server wrote to the index or data cache.

Number of times the Informatica Server read from the index or data cache. Number of times the Informatica Server read from the index or data files on the local disk. LearnersParadise Confidential ________________________________________________________________________ Joiner_outputrows Number of rows sent out of the transformation. Suite# 100-24. Santa Clara. Number of rows in which the Informatica Server encountered an error. .com – Online Training with ‘Live’ trainer. Number of times the Informatica Server wrote to the index or data files on the local disk. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. Number of rows passed into the transformation. Joiner_errorrows Joiner_readfromcache Joiner_writetocache Joiner_readfromdisk Joiner_writetodisk Joiner_duplicaterows Joiner_duplicaterowsused All Other Transformations Transformation_inputrows _______________________________________________________________________ LearnersParadise. Course : Informatica. 2900 Gordon Avenue. instead of using cached data. The content of the document is solely responsibility of the author.________________________________________________________________________ Trainer: Jagan Byri. Number of duplicate rows the Informatica Server found in the master relation. Number of times the Informatica Server wrote to the index or data cache. Number of times the Informatica Server used the duplicate rows in the master relation. instead of using cached data.

. CA USA 95051 Disclaimer: LearnersParadise is only distributor of the document. For Source Qualifiers and targets. Number of rows in which the Informatica Server encountered an error. evaluate them as a whole. The content of the document is solely responsibility of the author. Transformation_errorrows * The Informatica Server generates two sets of performance counters for a Joiner transformation. However. The second set of counters refers to the detail source. _______________________________________________________________________ LearnersParadise. 2900 Gordon Avenue. The Joiner transformation does not generate output row counters associated with the master source. LearnersParadise Confidential ________________________________________________________________________ Transformation_outputrows Number of rows sent out of the transformation. Suite# 100-24. Santa Clara. Low is considered 0-20 percent. The first set of counters refers to the master source. a high value is considered 80-100 percent. If you have multiple Source Qualifiers and targets. any dramatic difference in a given set of BufferInput_efficiency and BufferOutput_efficiency counters indicates inefficiencies that may benefit from tuning.com – Online Training with ‘Live’ trainer.________________________________________________________________________ Trainer: Jagan Byri. Course : Informatica.