You are on page 1of 3

SSSI Performance Optimization Tips:

1. Avoid asynchronous transformation (Sort transformation) where ever


possible. Sort transformation requires all incoming rows to be arrived before
sort processing. Instead of using sort transformation e can get sorted rows
from data source using order by clause.
2. While loading high volumes of data, drop indexes from destination,
transform and load the data. Again create indexes on the tables.
3. Avoid to write select * from.. query
4. OLEDB Destination setting:
Keep Identity: Auto generated , but in some scenario we have to keep
source identity as it is, at that time check keep identity check box.
Table Lock: (default is check) If you are loading data in a table, on that
time it will tell to sql server to lock this table and dont give permission
to any user to insert/update/delete
Check Constraints: we have to uncheck this to increase performance.
Maximum insert commit size: Max size is 2147483647. sets how large
the batch size is going to be prior to sending a commit statement. Usually
setting the Max Insert Commit Size to a number like 10,000 increases
performance, but it really depends on how wide the columns are in the
table.
Rows per batch: allows you to specify how many rows are in each batch
sent to the
destination.
Ex: If source has 100000 rows then row per batch 10000 will increase
performance.
Data Access Mode: This setting provides Fast Load option which
internally uses a bulk insert statement for uploading the data into the
destination table instead of simple statement.
5. Data Flow Properties:
DefaultBufferMaxRow: Telling about buffer in temp table
10MB-10,000 rows
100MB- 100000 rows
DefaultBufferSize: Increase the size here and check RAM also if RAM is
4GB then take it as 1 GB , it slows down other tasks.
BLOBTempStoragePath & BufferTempStoragePath: Specify the
locations for temporary storage of buffer data (BufferTempStoragePath
property) and of columns that contain binary large object (BLOB) data

(BLOBTempStoragePath property). By default, these properties contain


the values of the TEMP and TMP environment variables. You might want
to specify other folders to put the temporary files on a different or faster
hard disk drive, or to spread them across multiple drives. You can specify
multiple directories by delimiting the directory names with semicolons.
DelayValidation:
Two types of validation properties:
1. PackageValidation(Early Validation): Which validate the package and
all its component before starting the package execution.
2. ComponentValidation(Late Validation): Which validates the
components of the package once started.
6. Control Flow Properties:
Better performance with parallel execution: Two support parallel
execution of different tasks in the package we have two properties.
1. MaxConcurrentExecutables: It defines how many tasks can run
simultaneously by specifying the maximum no of sssi threads that can
execute in parallel for package.
2. EngineThread: It is property of DFT . This property provides a
suggestion to the data flow engine about the number of threads to use.
The default is 10, with a minimum value of 3. However, the engine
will not use more threads than it needs, regardless of the value of this
property. The engine may also use more threads than specified in this
property, if necessary to avoid concurrency issues.
7. Monitoring the SSIS Performance with performance count:
Launch the performance moniter: Start-> type Performance moniter.
Load the SSIS related counters: In the performance objects select sql
server: SSIS pipeline and sql server:SSIS services.
SSIS Provides a set of performance counters among them the following
few are helpful when you tune or debug your package
1. Buffer in use
2. Flat buffer in use
3. Private buffer In use
4. Row read
5. Row written
8. Fast Parse properties:
This option in ssis can be used for very fast loading of flat file data.

It will speedup parsing of integer data and time type if the conversion
does not have to be locale-sensitive.
This option is set on per column basis using the advance editor for the
flat file source.
Setting the fast parse option in flat file source improves the performance
by 7-10% in large file.
The transformation can be cauterized as following types:
1. Fully blocking transformation: Blocks the entire data set to perform the
transformation.
2. Semi blocking transformation: Blocks group of data to perform the
transformation.
3. Non blocking: No blocking of data
As general rule try to reduce the number of blocking and semi blocking
transformations.
Ensure to always select only required columns .
We can use Table or view fast load option only if we have sql server
destination.

You might also like