Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 2

HOW TO: Optimize PowerCenter bulk load to Microsoft SQL Server

Solution

DTM buffer block size and commit interval contributes significantly to the
performance of the PowerCenter bulk mode loading to Microsoft SQL Server:

Number of rows that could be passed to the target in one trip is determined
based on commit interval and DTM buffer block size (edit the session
properties > Config Object tab > Default buffer block size); and not the DTM
buffer.
The number of rows that could be accommodated in a block is determined by
highest total precision of sources/targets. For example, a mapping has 11
columns in the source and all of them are set to 255 as precision (total precision
2,805). Buffer block size specified as 302496 and this would process nearly 100
rows per block.

Do the following:

1. Ensure that buffer block is able to accommodate maximum possible rows.


There is no specific rule that specifies the Buffer Block size but it should not be
so huge that it leads to system running on low memory.
2. Increase the commit interval. Again, there is no fix rule that indicates how
much the commit interval should be. This is based on trial and error method. If
performance does not change with change in commit interval then it could be
considered an optimum value.

More Information

A) Optimizing the Buffer Block Size:

Depending on the session source data, you might need to increase or decrease the
buffer block size.
If the machine has limited physical memory and the mapping in the session contains a
large number of sources, targets, or partitions, you might need to decrease the buffer
block size.
If you are manipulating unusually large rows of data, increase the buffer block size to
improve performance. If you do not know the approximate size of the rows, determine
the configured row size by completing the following steps.

To evaluate the required buffer block size:

1. In the Mapping Designer, open the mapping for the session.


2. Open the target instance.
3. Click the Ports tab.
4. Add the precision for all columns in the target.
5. If you have more than one target in the mapping, repeat steps 2 to 4 for each
additional target to calculate the precision for each target.
6. Repeat steps 2 to 5 for each source definition in the mapping.
7. Choose the largest precision of all the source and target precisions for the total
precision in the buffer block size calculation.

The total precision represents the total bytes needed to move the largest row of data.
For example, if the total precision equals 33,000, then the Integration Service requires
33,000 bytes in the buffers to move that row. If the buffer block size is 64,000 bytes,
the Integration Service can move only one row at a time.

Ideally, a buffer accommodates at least 100 rows at a time. Thus, if the total precision
is greater than 32,000, increase the size of the buffers to improve performance.

To increase the buffer block size, open the session properties and click the Config
Object tab. Edit the Default Buffer Block Size property in the Advanced settings.

Increase the DTM buffer block setting in relation to the size of the rows. As with DTM
buffer memory allocation, increasing buffer block size should improve performance. If
you do not see an increase, buffer block size is not a factor in session performance.

B) Auto memory settings at session level do not result in optimum memory settings.
Auto memory settings are good for the development environment. However,
performance tuning could be referred to optimize the session performance.

C) Generally bulk mode operation depends on how many rows could be pushed to
target in one go. Even Oracle bulk data loading could be optimized by increasing the
DTM buffer block size and committee interval; however, performance may not
improve beyond certain point.

D) Oracle and SQL Server bulk mode facilities cannot be compared as they are vendor
specific and generally one performance better than other (with default settings).

Reference

Informatica help Performance Tuning guide > Optimizing Sessions > Buffer Memory

You might also like