Saturday, 28 July 2012

How can we do Performance Tuning in Informatica

The goal of performance tuning is to optimize session performance so that the sessions run during the available load window for the Informatica Server.Increase the session performance by following.
  • Network:The performance of the Informatica Server is related to network connections. Data generally moves across a network at less than 1 MB per second, whereas a local disk moves data five to twenty times faster. Thus network connections often affect on session performance. So avoid network connections.
  • Flat files: If your flat files stored on a machine other than the informatica server, move those files to the machine that consists of informatica server.
  • Less Connections: Minimize the connections to sources ,targets and informatica server to improve session performance. Moving target database into server system may improve session performance.
  • Staging areas: If you use staging areas you force informatica server to perform multiple data passes.Removing of staging areas may improve session performance.Use staging area only when its mandatory
  • Informatica Servers:You can run the multiple informatica servers against the same repository. Distributing the session load to multiple informatica servers may improve session performance.
  • Run the informatica server in ASCII data movement mode improves the session performance. Because ASCII data movement mode stores a character value in one byte. Unicode mode takes 2 bytes to store a character.
  • Source qualifier: If a session joins multiple source tables in one Source Qualifier, optimizing the query may improve performance. Also, single table select statements with an ORDER BY or GROUP BY clause may benefit from optimization such as adding indexes.
  • Drop constraints: If target consists key constraints and indexes it slows the loading of data. To improve the session performance in this case drop constraints and indexes before we run the session(while loading facts and dimensions) and rebuild them after completion of session.
  • Parallel sessions:Running a parallel sessions by using concurrent batches will also reduce the time of loading the data. So concurrent batches may also increase the session performance.
  • Partitioning: the session improves the session performance by creating multiple connections to sources and targets and loads data in parallel pipe lines.
  • Incremental Aggregation:In some cases if a session contains an aggregator transformation ,you can use incremental aggregation to improve session performance.
  • Transformation Errors:Avoid transformation errors to improve the session performance.Before saving the mapping validate it and see and if any transformation errors rectify it.
  • Lookup Transformations: If the session contained lookup transformation you can improve the session performance by enabling the look up cache.The cache improves the speed by saving the previous data and hence no need to load that again
  • Filter Transformations: If your session contains filter transformation ,create that filter transformation nearer to the sources or you can use filter condition in source qualifier.
  • Group transformations: Aggregator, Rank and joiner transformation may often decrease the session performance .Because they must group data before processing it. To improve session performance in this case use sorted ports option ie sort the data before using the transformation.
  • Packet size: We can improve the session performance by configuring the network packet size, which allows data to cross the network at one time. To do this go to server manger ,choose server configure database connections.
 Also read about Diff between datastage and Informatica

3 comments:

  1. Very good write up

    ReplyDelete
  2. hi can you please explain how to find out bottlenecks in informatica?

    ReplyDelete
  3. thanks for sharing very use full information

    ReplyDelete

Related Posts Plugin for WordPress, Blogger...

ShareThis