How to identify bottlenecks in
sources,targets,mappings,workflow,system and how to
increase the performance?
Answers were Sorted based on User's Feedback
Answer / praveenkumar.b
Source:
Create the Filter transformation after all the Source
Qualifiers and make the filter condition FALSE so that the
data will not go beyond this trasformation. Then run the
session and find out the time taken from source. If you
feel there is some lack in performance, then suggest the
necessary index creation in Pre Session.
Note: If the source is File, then there is no possibility
of performance problme in source side
Target:
Delete the target table from the mapping and create the
same structure as a Flat file. Run the session and find out
the time taken to write the file. If you feel problem in
performance, then delete the INDEX of the table before
loading the data. In post Session, Create the same index
Note:If the target is File, then there is no possibility of
performance problme in target side
Mapping:
The below steps need to be consider
#1. Delete all the transformations and make it as single
pass through
#2. Avoid using more number of transformations
#3. If you want to use more filter transformation, then use
Router transformation instead of it
#4. Calculate the index and data cache properly for
Aggregator, Joiner, Ranker, Sorter if the Power center is
lower version. Advance version, Power center itself will
take care of this
#5. Always pass the sorted i/p's to Aggregator
#6. Use incremental aggregation
#7. Dont do complex calculation in Aggregator
transformation.
Session:
Increas the DTM buffer size
System:
#1. Increase the RAM capacity
#2. Avoid paging
| Is This Answer Correct ? | 27 Yes | 1 No |
Answer / kalyan
Run ur session in Verbose Mode and check out the Busy
Percentage in the Log. IF its more at the Reader thread
than ur Source Query is the Bottleneck.Tune your SQ.
If its Writer thread, then you check with your target . May
be you need to drop and recreate the Indexes on the target
table.
If its the Transformation thread , then check with your
mapping logic. Concentrate More on Aggregator part..
Fine tune your logic. Don't drag the fields which are not
used to all the transformations. try to use as less
transformations as possible.
Cache your lookups .Whenever possible use the persistent
lookup concept.
This should help guys..
| Is This Answer Correct ? | 17 Yes | 2 No |
Bottleneck in Informatica
Bottleneck in ETL Processing is the point by which the performance of the ETL Process is slowr.
When ETL Process is in progress first thing login to workflow monitor and observe performance statistic. I.e. observe processing rows per second. In SSIS and Datastage when you run the job you can see at every level how many rows per second is processed by the server.
Mostly bottleneck occurs at source qualifier during fetching data from source joiner aggregator Lookup Cache Building Session.
Removing bottleneck is performance tuning.
| Is This Answer Correct ? | 3 Yes | 0 No |
Answer / srinu
identification of bottelnecks
target:configuring session to write to flatfiletarget
source:add filter t/r after sq t/t to false show that no
data is processed past the filter t/r,if it time takes to
run new session remains same to the original session there
is source bottel necks
mapping:add filter t/f before each target and set filter
condition to false,similar to source
session:use the collect performance data to identify the
session bottel necks
read from desk,write to disk counters other than zero,there
is bottelnecks
| Is This Answer Correct ? | 3 Yes | 5 No |
How to delete duplicate row using informatica?
I have a mapping loading 100 records and it failed on 20th record. how to recover it without changing anything.(in prod where we don't have any access).. (the session should should start from 21 record)
How will you update the first four rows and insert next four rows in a mapping?
what is degenerated dimension
Explain the informatica workflow?
Hello, I have the below table: CityID CityName CostOfLiving 1 Mumbai 5000 1 Bangalore 4500 1 Chennai 4800 2 Vapi 6000 3 New Delhi 8000 I am passing the rows of the above table through the aggregator transformation in Informatica What happens in the following conditions: 1) I specify no group-by ports? 2) I specify a group-by on CityID without making any separate post for aggregation? Which city and costofliving will this eventually take for CityID=1? 3) Rest being same as point 2,I take the sum of cost of living.Which city will be returned for ID=1? Thanks for your help!
what r the values tht r passed between informatics server and stored procedure?
What are the tasks that source qualifier perform?
Which kind of index is preferred in DWH?
If i have one source having 10 ports.In a mapping i use that source one target having that ten ports.Data from 5 ports are going to target through a mapplet and another 5 ports are going to target through another mapplet.Both 2 mapplets are intially passive in nature.But presently my requirment to convert on mapplet to ACtive.How can i do it.
how DTM buffer size and buffer block size are related
What is a design?